如果给定主机用户在远程计算机上没有ssh密钥,如何作为另一个用户ssh进入一个盒子

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

我有一个完全configuration的slicehost帐户。 请注意,在这个片上,John没有ssh密钥。

现在我configuration这个盒子用于用户部署的SSH访问。

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

slicehost再次对用户john没有任何作用。

如果我想ssh成为用户部署的切片框,我也需要把公钥放在那里?

有点。

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

在你的情况下,你正在部署连接。 所以,当你连接时,你会input:

ssh deploy@slicehost 

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

不。用户名与公钥/私钥对无关。 它没有被logging在任何键的任何地方。 只要将公钥放在用户的.ssh/authorized_keys文件中,就可以使用私钥以该用户身份login。

您将需要同时指定要以“deploy”用户身份login,并指定要部署的身份文件。

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

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