我以“user1”身份登录。
Host A:
user1
user2
Host B:
remoteuser.
user2
onHost A
和remoteuser
on之间建立了信任关系Host B
。
然而,脚本是由user1
on执行的Host A
。
我如何利用onuser2
正在执行的脚本中已经建立的信任关系。user1
Host 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世界中是未知的。我们知道sudo
或ssh
不知道密码。
您无法轻松地拥有三步“信任”(user1@A -> user2@A -> remoteuser@B)。
任何一个
- 将脚本转移到 user2
- 允许用户1对用户2进行无密码sudo
- 允许 user1 以远程用户身份无密码登录 B
您必须编辑/etc/sudoers.conf
或复制用户 2 的私钥到用户 1 的私钥。