如何创建基于密钥的ssh用户?

How to make key based ssh user?

我是 Ubuntu-Linux 的新手,我必须在远程系统中创建一个 ssh 用户并生成它的密钥。并通过命令key_file访问此系统。

ssh -i key_file user@host 

任何人都可以告诉我我该怎么做吗?

在您尝试连接的系统上,需要将 public 键(通常是 id_rsa.pub 或类似的东西)添加到 authorized_keys 文件中。

如果用户是全新的并且 authorized_keys 文件尚不存在,此命令将为您创建它。

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

接下来只需确保主机上的 sshd 运行 并且您应该能够使用您发布的命令进行连接。

在远程服务器上-

ssh-keygen
   ssh-copy-id user@host 
   cd .ssh

复制文件 id_rsa 并提供给任何想要访问此文件的人 server/system。

在另一个系统上

ssh -i id_rsa user@host

如果您想以用户 "user" 的身份连接到另一台主机,您需要的是将要打开该连接的用户的 public 密钥,即您登录的用户在您的台式计算机或您来自的某些服务器上,而不是为了用户,您正在远程主机上登录。

您可以检查您当前用户的密钥是否已经在 $HOME/.ssh 中创建;在那里你应该找到类似 "id_rsa" 和 "id_rsa.pub" 的东西(对于 rsa 密钥)。如果它们不存在,您可以通过调用

创建它们
ssh-keygen -t rsa 

以这种方式生成的public密钥,本例中的id_rsa.pub,必须放在文件${HOME of user on目标主机上的远程主机}/.ssh/authorized_keys.

如果该文件在远程主机上不存在,或者甚至 .ssh 也不存在,您必须使用以下权限创建这些文件:

.ssh                 700
.ssh/authorized_keys 600

详情见http://www.openssh.com/faq.html#3.14

可以在此处找到该过程的详细说明:

https://help.github.com/articles/generating-ssh-keys/