Linux 在使用相同id_rsa和id_rsa.pub的多个用户帐户上使用ssh登录
我有一个Linux 在使用相同id_rsa和id_rsa.pub的多个用户帐户上使用ssh登录,linux,ssh,Linux,Ssh,我有一个id\u rsa和id\u rsa.pub。假设我在同一台机器上有5个用户。我想在没有密码的用户之间使用相同的id\u rsa和id\u rsa.pub进行ssh。可能吗?我发现user1是否想要执行sshuser2@localhost../home/user2/.ssh必须有一个名为authorized\u keys的文件,其内容为id\u rsa.pub。和/home/user1/.ssh必须具有id\u rsa文件。因此,通过这样做,user1可以执行sshuser2@localh
id\u rsa
和id\u rsa.pub
。假设我在同一台机器上有5个用户。我想在没有密码的用户之间使用相同的id\u rsa
和id\u rsa.pub
进行ssh。可能吗?我发现user1是否想要执行sshuser2@localhost../home/user2/.ssh
必须有一个名为authorized\u keys
的文件,其内容为id\u rsa.pub
。和/home/user1/.ssh
必须具有id\u rsa文件。因此,通过这样做,user1可以执行sshuser2@localhost
但是如果user2想要做sshuser1@localhost
则用户1必须拥有授权密钥
且其内容为id\u rsa.pub
,用户2必须拥有id\u rsa
文件
总之,user1拥有:授权密钥、id\u rsa
,user2拥有相同的文件。
在我的机器上发生的是:user1可以执行sshuser2@localhost
但用户2无法执行user1@localhost
有什么东西不见了吗?有什么我不明白的吗?是否可以在使用相同id\u rsa
和相同id\u rsa.pub
的用户之间使用ssh?用户的/home/user/.ssh
目录上的文件权限必须是700
,并且/home/user/.ssh/authorized\u密钥必须是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;
user1可以执行ssh吗user1@localhost
?我这样问是因为这可能是/home/user1/.ssh
或其中的授权密钥文件的权限问题,应该可以,是的。为了简化设置,您可能需要使用ssh copy id
命令来安装密钥。另外,检查user2的私钥是否不可读,并检查系统日志中是否有来自sshd的消息。如果它不喜欢权限,它通常会在其中放一些东西。同意-应该可以。我刚刚从user1/.ssh和user2/.ssh中删除了authorized_key、id_rsa,并重新复制了id_rsa,并将id_rsa.pub重命名为authorized_key。所以现在两个用户又有了相同的设置。但现在我一点都不会ssh。对于user1,它询问密码;对于user2,它询问密码短语。嗯。。。我给了这些文件600个权限,我刚刚使用了ssh拷贝id,user1可以再次登录到user2。但user2仍然无法登录到user1。在所有5个用户中,user1似乎只能登录到user2,还需要首先检查/home/$SSHUSER
上的权限。确保它是-755
<代码>777
对我不起作用。