【问题标题】:How to append authorized_keys on the remote server with id_rsa.pub key如何使用 id_rsa.pub 密钥在远程服务器上附加授权密钥
【发布时间】:2014-06-28 18:08:51
【问题描述】:

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

【问题讨论】:

    标签: ssh public-key authorized-keys


    【解决方案1】:

    ssh-copy-id user@remote_server

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

    【讨论】:

    • 这应该是他认可的答案;如果需要排除故障,其他方法可能很有用,但它们是官方推荐方法的 hack-y 替代方法。
    • 这当然只有在被授权仅使用用户/密码登录主机时才有效。否则,将需要找到一种方法从主机系统的外壳中手动附加到 authorized_keys 。如何选择这样做是读者的一项练习。
    • 如果您无权登录远程服务器,这些答案都不起作用。
    【解决方案2】:

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

    ssh user@server "echo \"`cat ~/.ssh/id_rsa.pub`\" >> .ssh/authorized_keys"
    

    【讨论】:

    • 之前一直在使用ssh-copy-id,但是如果您有一个新的公钥(例如一台新的笔记本电脑)要添加到您已经有权访问的一个或几个服务器上,那么这个命令非常有用。这允许您使用来自~/.ssh/ 的密钥/设置进行身份验证,但复制不同的密钥。太棒了!
    【解决方案3】:

    这就是诀窍:

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

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

    【讨论】:

    • @user3132194 括号用于在这里分组...确保>>在远程shell上
    • ssh user@host "cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub 有点短,不需要子shell。
    • 我试图将 Windows 10 内置的 openssh 密钥添加到我的 linux 主机中,这很有效 type %userprofile%\.ssh\id_rsa.pub | ssh user@linux.local "cat >> .ssh/authorized_keys"
    【解决方案4】:

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

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

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

    【讨论】:

      【解决方案5】:

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

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

      地点:

      • -f: 强制模式——复制密钥而不检查它们是否已经安装
      • -i: [identity_file]

      【讨论】:

        【解决方案6】:

        你可以避免一些引用:

        ssh user@host tee -a .ssh/authorized_keys < ~/.ssh/id_rsa.pub
        

        【讨论】:

          猜你喜欢
          • 2018-05-19
          • 2017-08-31
          • 1970-01-01
          • 2013-09-12
          • 2013-06-28
          • 1970-01-01
          • 2016-12-22
          • 1970-01-01
          • 2013-07-23
          相关资源
          最近更新 更多