如何将RSA密钥添加到authorized_keys文件?


90

我已经创建了一个RSA公钥,我想将其添加到authorized_keys文件中,但是我的Ubuntu 11.10计算机中没有这样的文件。

如何将密钥添加到authorized_keys

Answers:


105

确保在执行Michael Krelin的解决方案时执行以下操作

cat <your_public_key_file> >> ~/.ssh/authorized_keys

请注意,双精度型>不带双>精度型,authorized_keys的现有内容将被覆盖(否定!),这可能是不希望的


您需要包括如何正确处理公钥信息,而仅复制和粘贴不会起作用。例如:
einarc

4
您能解释为什么复制/粘贴无效吗?我真的很好奇。
mcsilvio

50
mkdir -p ~/.ssh/

覆盖authorized_keys

cat <your_key >~/.ssh/authorized_keys

追加到authorized_keys的末尾

cat <your_key >>~/.ssh/authorized_keys

我已经在客户端生成了密钥并将该密钥复制到服务器计算机,但是使用ssh 192.168.2.7命令它不允许登录。
拉吉AC

不允许登录说什么?
Michael Krelin-黑客2012年

当执行此命令时,它询问服务器的密码。我想要无密码登录
Raji AC

ID(发布部分)是否在遥控器上的〜/ .ssh / authorized_keys中?尝试登录时,ssh使用的ID(非pub部分)吗?您可以尝试使用明确指定它-i。另外,您可以尝试ssh -v并检查遥控器上的authorized_keys的权限。并检查那里的日志。
Michael Krelin-黑客2012年

我们可以以某种方式检查是否已添加密钥吗?就像是通过ssh-copy-id为远程系统完成的操作
Dmitriusan 2015年

32

我知道我回复得太晚了,但是对于其他需要此响应的人,请从本地计算机上运行以下命令

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

这已经做得很好。您需要做的就是更换

用户@ 192.168.1.1

与该特定主机的您自己的用户


31

ssh套件中已经有一个命令可以自动为您执行此操作。即登录到远程主机,然后将公共密钥添加到该计算机的authenticated_keys文件中。

ssh-copy-id -i /path/to/key/file user@host.com

如果您要安装的密钥是,~/.ssh/id_rsa则甚至可以完全删除该-i标志。

比手动做要好得多!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
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.