【发布时间】:2015-03-21 14:23:52
【问题描述】:
我是 Ubuntu-Linux 新手,我必须在远程系统中创建一个 ssh 用户并生成它的密钥。并通过命令通过key_file访问本系统。
ssh -i key_file user@host
谁能告诉我我该怎么做?
【问题讨论】:
标签: linux ubuntu ssh ssh-keys openssh
我是 Ubuntu-Linux 新手,我必须在远程系统中创建一个 ssh 用户并生成它的密钥。并通过命令通过key_file访问本系统。
ssh -i key_file user@host
谁能告诉我我该怎么做?
【问题讨论】:
标签: linux ubuntu ssh ssh-keys openssh
在您尝试连接的系统上,需要将公钥(通常为 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 并提供给任何想要访问此服务器/系统的机构。
在其他系统上
ssh -i id_rsa user@host
【讨论】:
如果您想以用户“user”的身份连接到另一台主机,您需要的是要打开该连接的用户的公钥,即您在台式计算机或某些服务器上登录的用户来自,而不是用户,您正在远程主机上登录。
您可以检查当前用户的密钥是否已在 $HOME/.ssh 中创建;在那里你应该找到类似“id_rsa”和“id_rsa.pub”的东西(用于rsa密钥)。如果它们不存在,您可以通过调用
来创建它们ssh-keygen -t rsa
以这种方式生成的公钥,在本例中为 id_rsa.pub,必须放在目标上的文件 ${HOME of user on remote host}/.ssh/authorized_keys主持人。
如果远程主机上不存在此文件,或者即使 .ssh 也不存在,您必须创建具有以下权限的文件:
.ssh 700
.ssh/authorized_keys 600
详情请见http://www.openssh.com/faq.html#3.14。
可以在此处找到该过程的详细说明:
【讨论】: