首页 > 代码库 > SSH无密码登录

SSH无密码登录

SSH无密码登录配置(通过公私钥)
主机A:172.16.11.99
主机B:10.0.0.100
前提条件:A、B间能够互通(可以ping通) 
步骤:
1、在主机A中,使用ssh-keygen命令生成公私密钥对
[root@A ~]# ssh-keygen
然后一直按回车键,就会按照默认的选项:
  生成的私钥保存在.ssh/id_rsa文件中
  生成的公钥保存在.ssh/id_rsa.pub文件中
[root@A ~]# cd .ssh
[root@A .ssh]# ls
id_rsa  id_rsa.pub
 
2、将公钥上传到需要远程登录的服务器上(也可以是root用户)
[root@A .ssh]# ssh-copy-id zhangjiacai@10.0.0.100
进入主机B
[root@B ~]# su - zhangjiacai
[zhangjiacai@B ~]$ ls .ssh/
authorized_keys
原理:将公钥(id_rsa.pub)上传到主机B的zhangjiacai用户下.ssh/authorized_keys
 
3、验证能不能实现无密码登录远程主机
[root@A ~]# ssh zhangjiacai@10.0.0.100
Last login: Wed Jan  4 13:14:28 2017 from 192.168.1.100
[zhangjiacai@B ~]$
//成功

 
注:可能会出现的问题
①进行ssh登录时,出现:“Agent admitted failure to sign using the key”
  执行:# ssh-add 强行将私钥加进来
②如果没有错误提示,操作无误,仍连不上(A向B发起ssh连接)
进入主机B:chmod o-w ~/
                    chmod 700 ~/.ssh
                    chmod 600 ~/.ssh/authorized_keys
③还是无法无密码登录
[root@A ~]# service sshd restart

SSH无密码登录