你们新物联网工程(物联网)和使用的覆盆子π等董事会可能会遇到一个刺激:每次你擦你的物联网设备上的操作系统,然后尝试使用安全Shell (SSH)来访问它,SSH将抱怨的:
RedQueen:~ mgibbs$ ssh pi@192.168.0.37
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@警告:远程主机标识已更改!@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
可能有人正在做一些肮脏的事情!
有人现在可能正在偷听你(中间人攻击)!
也有可能主机密钥刚刚被更改。
由远程主机发送的ECDSA密钥的指纹为
SHA256: X0L / BQW / 2 wvwknkiasrgcsr41hsw / uVffWkP7bLFUuo。
请联系您的系统管理员。
在“/Users/mgibbs/”中添加正确的主机密钥。Ssh /known_hosts删除此消息。
在“/Users/mgibbs/.ssh/known_hosts”目录下,存在12个ECDSA密钥错误
192.168.0.37的ECDSA主机密钥已更改,您已要求严格检查。
主机密钥校验失败。
RedQueen: ~ mgibbs $
我的机器名为RedQueen(我使用“爱丽丝梦游仙境”的方案来命名我的网络上的设备),我通过NOOBS ssh到一个运行Debian“Jesse”的树莓派,所以标准登录是用户名“Pi”和密码“树莓”。
这里的问题是第12项known_hosts文件声明椭圆曲线数字签名算法我刚刚连接到的主机的(ECDSA)指纹与之前为该主机记录的主机指纹不一样(之所以不一样,是因为Linux的每个安装都获得一个新的ECDSA公钥)。警戒线是:
在“/Users/mgibbs/.ssh/known_hosts”目录下,存在12个ECDSA密钥错误
你可以编辑你的known_hosts文件(通常在~ / . ssh / known_hosts),只删除有问题的行,对于我上面的例子,看起来像:
192.168.0.37 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNT美元
这样做会很好,因为通过删除该主机的特定行,您不会更改对其他主机的ECDSA签名检查,如果有任何可能涉及到坏人,这是非常明智的做法。一个快速的方法是像这样使用sed编辑器:
Sed -i 12d ~/.ssh/known_hosts
现在,当您重试ssh到该主机时,将创建一个新条目在known_hosts当你完成对话时:
RedQueen:~ mgibbs$ ssh pi@192.168.0.37
不能建立主机'192.168.0.37(192.168.0.37)'的真实性。
ECDSA密钥指纹为SHA256:X0L/BQW/2WvWKnkIAsRGcSr41Hsw/uVffWkP7bLFUuo。
您确定要继续连接(是/否)吗?是的
警告:永久地将'192.168.0.37' (ECDSA)添加到已知主机列表中。
pi@192.168.0.37的密码:
Debian GNU/Linux系统中包含的程序都是自由软件;
每个程序的确切分布术语在
个人文件在/usr/share/doc/*/copyright.
Debian GNU/Linux在某种程度上是绝对没有保证的
适用法律允许的。
最后登录:周六8月20日19:14:09 2016从192.168.0.180
pi@raspberrypi:~ $
但是必须进行编辑known_hosts对于每一个改变的主机将很快成为一种痛苦,即使它是简单的使用sed命令。更好的选择是通过编辑SSH配置禁用Strict Host Key Checking~ / . ssh / config(如果文件不存在,那么您只需创建它)。注意,这是当前用户的配置文件;对于系统范围的SSH配置,它是/etc/ssh/ssh_config).下面是你在配置文件中需要的:
主机(IP地址)
StrictHostKeyChecking没有
UserKnownHostsFile = / dev / null
如果您使用通配符规范(IP地址)例如,填写。,那么严格的检查将仍然适用于所有不符合该规范的主机。的分配UserKnownHostsFile来/ dev / null生成通常来自的条目列表known_hosts来自空设备(它什么也不返回),所以不会有一个主机的条目,SSH将询问是否可以继续,当你回答“yes”,它将简单地连接:
RedQueen:~ mgibbs$ ssh pi@192.168.0.37
警告:永久地将'192.168.0.37' (ECDSA)添加到已知主机列表中。
pi@192.168.0.37的密码:
Debian GNU/Linux系统中包含的程序都是自由软件;
每个程序的确切分布术语在
个人文件在/usr/share/doc/*/copyright.
Debian GNU/Linux在某种程度上是绝对没有保证的
适用法律允许的。
最后登录:周六8月20日19:35:18 2016从192.168.0.180
pi@raspberrypi:~ $
完成了,完成了。现在你的生活会轻松一点。