SSH不输入密码连接远程Linux主机



主机IP:10.10.3.254
远程主机IP:10.10.2.95

1) 在本地主机生成密钥对
ssh-keygen -t rsa


这个命令生成一个密钥对:id_rsa(私钥文件)和id_rsa.pub(公钥文件)。默认被保存在~/.ssh/目录下。

2) 将公钥添加到远程主机的 authorized_keys 文件中

将文件上传到远程主机中
scp ~/.ssh/id_rsa.pub root@10.10.2.95:/root

SSH到登陆到远程主机,将公钥追加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

3) 重启 open-ssh 服务
/etc/init.d/ssh restart


4) 测试
[root@host54 .ssh]# ssh root@10.10.2.95
Last login: Fri Jun 19 10:19:49 2009 from 10.10.3.254
[root@localhost ~]#
成功!!

注意:
如果报下面的错误:
[root@host54 .ssh]# ssh root@10.10.2.95
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/root/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

解决:需要将主机(IP:10.10.3.254)上的/root/.ssh/id_rsa权限设置如下:
chmod 600 /root/.ssh/id_rsa 即可解决.

另注:
原先使用虚拟机上做的时候就不行 不知道是不是虚拟机上有什么限制 很奇怪!
之后改用实际的服务器上应用 “SSH不输入密码连接远程Linux主机”方法 即可。

Logo

更多推荐