使用ssh-keygen -t rsa建立密钥之后,可以实现两台linux主机之间的root用户免密码登陆。但无法实现两个普通用户之间免密码登陆

时间:2022-01-21 04:03:55
使用ssh-keygen -t rsa建立密钥之后,可以实现两台linux主机之间的root用户免密码登陆。普通用户在往另一台主机追加密钥之后也可以登陆该机的root用户。但是,却无法登陆那台主机的普通用户

例如A机的123用户在B机的root追加key之后,A机123用户可以无密码登陆B机的root用户。
但是A机的123用户用同样的方法向B机的456用户追加key,却无法无密码登陆B机的456用户。
请问如何才能做到后面的那个功能

我目前需要达到的功能是两个普通用户之间无密码登陆。
但现在的问题在于两个主机间互相登陆root用户都不需要密码了,但只要登陆普通用户就需要密码,即使是修改了普通用户的权限也不行

大概步骤如下:
a@A:~> ssh-keygen -t rsa

a@A:~> ssh b@B mkdir -p .ssh
b@B's password: 

a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password: 

a@A:~> ssh b@B hostname
B

谢谢各位

5 个解决方案

#1


友情帮顶,顺便也学习了.

#2


对比一下.ssh/authorized_keys 文件的权限设置

#3


读的头都晕了。

哪个用户登录  就用哪个用户生成key

authorized_keys权限不要设置的太高 推荐600

你这样混着来  在使用ssh的时候 用-i选项指定一下private key

#4


是权限设置问题,在免密码登陆的节点上authorized_keys 的权限设置不能设置成664(拷贝过去默认的权限) ,设置成600 或644 或400 也可以,谢谢各位了。

#5


更正一下,不只是authorized_keys 文件权限设置问题,自己手动建立的.ssh 目录的权限也应设置与 源节点的。ssh的权限 一致即700

#1


友情帮顶,顺便也学习了.

#2


对比一下.ssh/authorized_keys 文件的权限设置

#3


读的头都晕了。

哪个用户登录  就用哪个用户生成key

authorized_keys权限不要设置的太高 推荐600

你这样混着来  在使用ssh的时候 用-i选项指定一下private key

#4


是权限设置问题,在免密码登陆的节点上authorized_keys 的权限设置不能设置成664(拷贝过去默认的权限) ,设置成600 或644 或400 也可以,谢谢各位了。

#5


更正一下,不只是authorized_keys 文件权限设置问题,自己手动建立的.ssh 目录的权限也应设置与 源节点的。ssh的权限 一致即700