ssh无密码通信设置

时间:2023-03-09 08:36:32
ssh无密码通信设置

■单向登陆配置:
1、在本地机器中的~/.ssh/目录下执行下命令
#ssh-keygen -t dsa
然后全部回车,采用默认值.
生成了一对密钥,id_dsa和id_dsa.pub,存放在用户目录的~/.ssh下。

2、将id_dsa.pub拷贝到远程机器,并且将id_dsa.pub的内容添加到~/.ssh/authorized_keys中
#cat id_dsa.pub >>authorized_keys

3、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限(700)
$ chmod 700 -R .ssh

完成以上操作之后,用户从本地机器ssh到远程机器就不需要输入密码了。

■双向登录设置:
1、两台机器的~/.ssh/目录下都执行下命令:
#ssh-keygen -t rsa
然后全部回车,采用默认值.
生成了一对密钥,id_rsa和id_rsa.pub,存放在用户目录的~/.ssh下。

2、将公钥id_rsa.pub分别拷贝到对方机器的用户目录下 ,并将其复制到各自的~/.ssh/authorized_keys中
#cat id_rsa.pub >> ~/.ssh/authorized_keys
复制完后删除拷贝过来的id_rsa.pub。(自己机器上生成的id_rsa.pub要把保留)

3、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限(700)
$ chmod 700 -R .ssh

完成以上操作后,两台机器之间相互用ssh登录都不需要输入密码了。

注1:windows上.ssh目录路径:C:\cygwin64\home\SWRBA01\.ssh
其中[SWRBA01]是ssh连接的用户名。
注2:要保证.ssh和authorized_keys都只有ssh连接的用户自己有写权限。否则验证无效。