50

如何使用单个命令从本地计算机使用 id_rsa.pub 密钥在远程服务器上附加 authorized_keys?

4

6 回答 6

106

ssh-copy-id user@remote_server

http://linux.die.net/man/1/ssh-copy-id

于 2015-07-09T22:27:56.357 回答
57

添加授权密钥可以以这种方式单行(使用双引号,以便在发送前对其进行解释):

ssh user@server "echo \"`cat ~/.ssh/id_rsa.pub`\" >> .ssh/authorized_keys"
于 2014-05-12T00:20:54.210 回答
32

这可以解决问题:

cat ~/.ssh/id_rsa.pub | (ssh user@host "cat >> ~/.ssh/authorized_keys")

将本地公钥附加到远程authorized_keys文件。

于 2015-02-25T17:29:00.070 回答
14

ssh-copy-id程序是标准方式,但可以手动将密钥附加到~/.ssh/authorized_keys文件中:

cat ~/.ssh/id_rsa.pub | ssh username@host "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

这不会检查密钥是否已经存在并且可能导致重复。

于 2015-04-18T13:43:55.550 回答
10

最方便的选项是ssh-copy-id命令。它可以将公钥附加到~/.ssh/authorized_keys. 例如:

ssh-copy-id -f -i id_rsa.pub username@host

在哪里:

  • -f:强制模式——复制密钥而不尝试检查它们是否已经安装
  • -i[identity_file]
于 2018-08-01T12:01:39.350 回答
5

您可以通过以下方式避免一些引用:

ssh user@host tee -a .ssh/authorized_keys < ~/.ssh/id_rsa.pub
于 2018-12-25T08:52:48.983 回答