liunx下的ssh免密匙互信登陆配置

ssh互信需求

通常在linux下使用ssh的时候我们需要目标机器开启了sshd的服务然后用 ssh客户端连接过去以指定的用户去登陆上去,正常情况下我们需要输入登陆密码才可以 成功登陆,但是在使用集群或者类似场景下我们有很多的的机器需要通过ssh间相互随机的访问,如果一个一个的输入密码那太繁琐了。由此我们就需要建立免密钥的登陆方式。

关于ssh互信的配置

有关于ssh建立互信的博网上到处都有,今天之所以要记录ssh互信的配置过程是因为我在使用的时候并不是那么的一帆风顺。

以下是配置步骤:

1、在对应的用户下面创建RSA密匙

ssh-keygen -t rsa 即可,也可以-P输入加密信息

这不操作完成之后一般会在用户的目录下生成.ssh的目录目录下面有公匙和私匙

2、在所有的目标机器上执行上一步的操作

3、将生成的所有公匙重定向到同一个文件中并命名为authorized_keys

4、将合并后的authorized_keys文件拷贝到每一个机器的.ssh目录下

配置ssh编辑/etc/ssh/sshd_config

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

service sshd restart 重起sshd服务

注:ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。 如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权; 如果publickey授权失败,依然会继续使用password授权。 不要设置 PasswordAuthentication no ,它的意思是禁止密码登录,这样就只能本机登录了!

问题:

ssh互信建立之后依然需要输入密码才能登陆

解决办法:.ssh 的目录以及旗下的所有文件的权限需要调整以下,我调整的办法是

chmod 700 -R .ssh

如果机器太多,这些操作可放在一个脚本中执行完成。

ssh

相关推荐