给定主机用户在远程计算机上没有ssh密钥的情况下,我如何以另一个用户身份进入一个盒子


13

可以说我的Mac机器的用户名是John。

我有一个完整配置的slicehost帐户。请注意,在此片上,John没有ssh密钥。

现在,我为用户部署的ssh acces配置此框。

在我的Mac机器上,我具有用于用户部署的私钥。Slicehost具有用于用户部署的公共密钥。

同样,slicehost对于用户john没有任何内容。

如果我想在用户部署时使用ssh进入sliceghost框,是否也需要将John的公钥放在那里?


为了完整起见,我将添加此链接,以便以后可以参考。gist.github.com/df7d13a0556cd4a1bc13
user35340 2010年

Answers:


22

有点。

您需要将来自您的帐户的公共密钥放在远程服务器上。如果这是您的John密钥,则使用该服务器的相应帐户将该密钥放在要连接的服务器上。

就您而言,您是作为部署连接的。因此,连接时,您将输入:

ssh deploy@slicehost

如果您的John密钥位于deploy帐户的.ssh / authorized_keys文件中,则可以直接访问。


1
这并不会破坏以其他人身份登录的全部目的。因此,在这种情况下,我似乎需要将John的公钥都放入并部署在authorized_keys文件中。
user35340 2010年

3
不。我们一直在进行sftp备份。我们生成需要在其上进行备份的任何系统上的公共私钥对。我们将该帐户/计算机的公钥放在备份服务器上的用户(例如,备份用户)下。然后,要从客户端计算机备份,请通过sftp到backup-user @ backup_machine。客户端计算机上的用户无关紧要。只需在备份用户帐户的.ssh目录下的备份服务器上的authorized_keys文件中找到该计算机的公共密钥即可。奇迹般有效。
Jim

1

否。用户名与公钥/私钥对无关。这两个键的任何地方都没有记录。只要将公钥放置在用户的.ssh/authorized_keys文件中,就可以使用私钥以该用户身份登录。


只是要确保我理解正确。只要John具有用于部署的私有密钥,并且用于部署的公共密钥在authorized_keys文件中,John就应该能够以部署方式登录。
user35340 2010年

这似乎对我不起作用-我将.ssh.authorized_keys一个帐户的帐户复制到了另一个帐户,但仍然无法登录
Edgar H

1

您既需要指定要以“部署”用户身份登录的用户,也需要指定要部署的身份文件。

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

其中id_deploy.rsa是与您上载到slicehost帐户的授权密钥相对应的私钥文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.