Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在使用相同id_rsa和id_rsa.pub的多个用户帐户上使用ssh登录_Linux_Ssh - Fatal编程技术网

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
对我不起作用。