为远程主机创buildSSH密钥

我正在开始与远程主机合作。 他们需要从我的服务器“SSH密钥”。 我如何创build一个可用于允许我的服务器连接的SSH密钥? 如果可能,我想将密钥分配给服务器上的特定SSH用户。

我只是担心给予他们访问我的服务器。 他们不应该得到我的,但我应该有机会获得他们的。 我怎样才能生成一个密钥来实现呢?

我不知道是否有帮助,但我有Ubuntu 12.04

你可以使用ssh-keygen来做到这一点

 ssh-keygen -t rsa -b 2048 

回答问题或接受默认值,然后为私钥提供密码。

现在请求发送公钥(id_rsa.pub)到远程主机。

将私钥放在〜/ .ssh / id_rsa中,供要访问远程主机的用户使用。 确保.ssh目录下的perms是700,〜/ .ssh / id_rsa是600。

你应该很好走。


 useradd testuser su - testuser ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/home/testuser/.ssh/id_rsa): Created directory '/home/testuser/.ssh'. Enter passphrase (empty for no passphrase): Your identification has been saved in /home/testuser/.ssh/id_rsa. Your public key has been saved in /home/testuser/.ssh/id_rsa.pub. The key fingerprint is: 81:dc:8d:19:f1:32:39:67:89:47:88:dc:a6:8a:3d:40 [email protected] 

id_rsa.pub发送到远程主机,其中应该放置在用户的~/.ssh/authorized_keys ,最多具有权限600644

如果他们需要从你的服务器的公钥,那么你已经有一个。 我使用Debian和Ubuntu应该是相同的,所以它在/etc/ssh

如果他们需要一个用户帐户的公共密钥,以便您可以通过例如ssh用该用户帐户login他们的系统,那么您只需要为自己创build一个密钥。 ssh-keygen -t dsarsa ,一定要使用密码!


回答下面的评论!

只需简单地创build该用户,请执行以下操作(并按照屏幕上的说明操作):

 adduser someuser su someuser cd ssh-keygen -t dsa chmod 600 .ssh/id_dsa.pub 

id_dsa.pub是您必须发送的密钥。