Linux ssh免密码登录

SSH免密码登录,配置多台机器互信,默认需要密码登录,

如下:



相关配置:

在需要配置互信的机器上,如从A登录B,A=>B

则在A机器生成密钥,即:公钥和私钥,公钥用来发布到各个机器上作为凭证,

1、生成密钥

在A机器上运行命令   

ssh-keygen -t rsa

则会生成相应的密钥,


通过以上命令会生成几个密钥文件,

生成在~/.ssh目录下:


说明:

authorized_keys:其实就是存放各个机器公钥的地方,

id_rsa.pub 为公钥信息,
id_rsa : 生成的私钥文件,
id_rsa.pub : 生成的公钥文件,
know_hosts : 已知的主机公钥清单,

设置互信其实就是将id_rsa.pub公钥信息发送到需要被信任的机器上的authorized_keys文件中即可,也就是A发送到B上authorized_keys文件中

注:
如果希望ssh公钥生效需满足至少下面两个条件(也就是说如果使用其他用户操作的话满足这些权限,如果是root用户的话,已经是最大权限,所以不用设置):
 1) .ssh目录的权限必须是700 
 2) .ssh/authorized_keys文件权限必须是600


2、发送密钥:

在A 机上运行

ssh-copy-id root@192.168.x.x

如果ssh-copy-id执行不了的话(没有ssh默认库的情况),可以使用scp进行发送,即:

scp -p ~/.ssh/id_rsa.pub root@192.168.x.x:/root/.ssh/authorized_keys

通过以上命令,

即可将公钥发送过去,发送过去之后可以登录B机器查看authorized_keys文件,可以看到了机器A的公钥信息,如过是多个机器发送给B的话则保存多个公钥信息,如下:

发送成功之后,再次ssh登录,从A机器登录到B 机器,

ssh 192.168.16.252

则可以不用密码直接登录了。



posted @ 2017-11-09 22:11  vtopqx  阅读(22)  评论(0)    收藏  举报