我有id_rsa
和id_rsa.pub
。说我在同一台机器上有5个用户。我想在没有密码的用户之间使用相同的id_rsa
和id_rsa.pub
ssh。可能吗 ?我弄清楚如果user1想要ssh user2@localhost
... /home/user2/.ssh
必须有一个名为authorized_keys
且内容为id_rsa.pub
的文件。并且/home/user1/.ssh
必须具有id_rsa文件。所以通过这样做,user1可以做ssh user2@localhost
但是,如果user2想要ssh user1@localhost
,则user1必须使authorized_keys
的内容为id_rsa.pub
,而user2必须包含id_rsa
文件
总结一下,user1具有:authorized_key, id_rsa
和user2具有相同的文件。
在我的机器上发生的事情是:user1可以执行ssh user2@localhost
但是user2无法执行user1@localhost
。
有什么遗失?有什么我不明白的东西?是否可以在使用相同id_rsa
和相同id_rsa.pub
的用户之间进行ssh?
答案 0 :(得分:3)
用户/home/user/.ssh
目录的文件权限必须为700
,/home/user/.ssh/authorized_keys
必须为600
。同时,每个.ssh
目录中的所有文件都必须由其所在主目录中的用户拥有。要递归更改所有权,您可以:
chown -R username:username /home/username/.ssh
如果您有多个用户并且需要为每个用户执行此操作,则可以使用此循环:
for SSHUSER in user1 user2 user3 user4 user5; do
# Add the authorized_keys file if it doesn't already exist
touch /home/$SSHUSER/.ssh/authorized_keys
# Set its permissions
chmod 600 /home/$SSHUSER/.ssh/authorized_keys
# Set directory permissions
chmod 700 /home/$SSHUSER/.ssh
# Set ownership for everything
chown -R $SSHUSER:$SSHUSER /home/$SSHUSER/.ssh
done;