使用不同的本地 ID 通过 SSH 连接到远程计算机

使用不同的本地 ID 通过 SSH 连接到远程计算机

我以“user1”身份登录。

Host A:
  user1
  user2

Host B:
  remoteuser.

user2onHost Aremoteuseron之间建立了信任关系Host B

然而,脚本是由user1on执行的Host A

我如何利用onuser2正在执行的脚本中已经建立的信任关系。user1Host A

我不想user1和之间建立信任关系remotehost

答案1

将user2的私钥复制到user1:

cp /home/user2/.ssh/id_rsa     /home/user1/.ssh/id_rsa.user2
cp /home/user2/.ssh/id_rsa.pub /home/user1/.ssh/id_rsa.user2.pub
chown user1:group1 /home/user1/.ssh/id_rsa.user2{,.pub}

作为 user1,使用此备用身份进行连接:

ssh -i /home/user1/.ssh/id_rsa.user2

或者将主机条目添加到 /home/user1/.ssh/config

Host B
  IdentityFile /home/user1/.ssh/id_rsa.user2

答案2

“信任关系”在unix世界中是未知的。我们知道sudossh不知道密码。

您无法轻松地拥有三步“信任​​”(user1@A -> user2@A -> remoteuser@B)。

任何一个

  1. 将脚本转移到 user2
  2. 允许用户1对用户2进行无密码sudo
  3. 允许 user1 以远程用户身份无密码登录 B

您必须编辑/etc/sudoers.conf或复制用户 2 的私钥到用户 1 的私钥。

相关内容