代码之家  ›  专栏  ›  技术社区  ›  mulllhausen

在两个不同的帐户上使用相同的公共ssh密钥

  •  1
  • mulllhausen  · 技术社区  · 14 年前

    情况是这样的:我家里有一台机器(我们称之为家用机器),办公室里有另一台机器(称之为家用机器)。im使用ssh和dsa密钥身份验证,而不使用密码身份验证从office计算机访问home_machine。我已经在home_machine上设置了一个ssh服务器,并将office_machine上生成的公钥添加到home_machine上的authorized_keys文件中。这工作得很好-我可以从office计算机ssh到home计算机,只需使用密钥而不使用密码。

    现在的问题是:当我访问其他办公室时,我希望能够使用属于office_machine的公钥访问home_machine。ie我想把公钥(id_dsa.pub)放在一个usb驱动器上,然后复制到另一个办公室的.ssh目录。从我在这个网站上看到的情况来看,其他人似乎能够做到这一点,但这并不管用。当我试着把id_dsa.pub放在一台新机器上 ssh -v user@home_machine 调试消息以以下内容结尾:

    debug1: Offering public key: .ssh/id_dsa
    debug1: Server accepts key: pkalg ssh-dss blen 433
    debug1: read PEM private key done: type DSA
    debug1: Authentications that can continue: publickey
    debug1: No more authentication methods to try.
    Permission denied (publickey).

    我的临时解决方案是在home_machine上的sshd_配置中设置“PasswordAuthentication yes”,然后使用密码进入home_machine。但是,这会使使用密钥授权的点无效。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Ari Gesher    14 年前

    你需要复制的不仅仅是公钥-你需要私钥。

    在ssh中,将public放在服务器端,但客户端需要有私钥。

    然后,您可以使用该密钥从有权访问密钥的任何计算机登录到home_计算机:

    ssh-i/path/to/id_dsa user@home_机器

    ssh-agent )