Linux下SSh无密钥登录

最近在搭openstack,因为经常ssh,所以要搞一下这个。之前搭hadoop的时候已经搞过,只是当时没有记录。这次记录下来,方便以后使用。

1. 生成public/private key pair

ssh-keygen -t rsa
(Enter your id_rsa save path)
(Passphrase)
(Confirm Passphrase)

这里注意,如果要配置对多个节点的无密钥ssh,记得一定要修改id_rsa的存储路径。

2. 发送public key

ssh-copy-id -i <your public key path> <remote user@host>

ssh-copy-id就是使用本地可用的key来完成远程登录的认证过程。参数-i表示使用认证文件,也就是我们保存public key的文件。其实这个命令的作用,应该就是将public key追加到远程主机的~/.ssh/authorized_keys里面。

3. 一些小问题

3.1. 关于 “Warning: the ECDSA host key for ‘xxx’ differs from the key for the IP addres…”。

ssh远程host时引发了这个Warning。引起这个Warning的原因,是远程host的ECDSA签名和本地保存的对应的ECDSA不一致。笔者玉道这个问题的原因是远程登录的这台VM是重新Clone的,但是还是原来的IP。
解决方案很简单。删除~/.ssh/known_hosts即可。

猜你喜欢

转载自blog.csdn.net/yi_Afly/article/details/45481399
今日推荐