openssh – 从putty向authorized_keys添加一个ssh密钥

我已经被一个同事提供了一个ssh密钥,在linux服务器上添加一个账户的authorized_keys文件,以便他们可以访问该账户。

该文件看起来像这样:

 ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160816" AAAAB3NzaC1yc2EAAAABJQAAAQEApoYJFnGDNis/2oCT6/h9Lzz2y0BVHLv8joXM s4SYcYUVwBxNzqJsDWbikBn/h32AC36qAW24Bft+suGMtJGS3oSX53qR7ozsXs/D lCO5FzRxi4JodStiYaz/pPK24WFOb4sLXr758tz2u+ZP2lfDfzn9nLxregZvO9m+ zpToLCWlXrzjZxDesJOcfh/eszU9KUKXfXn6Jsey7ej8TYqB2DgYCfv8jGm+oLVe UOLEl7fxzjgcDdiLaXbqq7dFoOsHUABBV6kaXyE9LmkbXZB9lQ== ---- END SSH2 PUBLIC KEY ---- 

authorized_keys (well,sshd)的手册页明确指出,文件需要每个键占用一行。 所以我想我需要将此密钥转换为单行格式? 我如何做到这一点?

  • 删除BEGINEND
  • 可以select删除Comment行(如果您想稍后将其添加为注释,可以留意这一点)
  • 删除所有剩余的换行符

现在的关键是:

 ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEApoYJFnGDNis/2oCT6/h9Lzz2y0BVHLv8joXMs4SYcYUVwBxNzqJsDWbikBn/h32AC36qAW24Bft+suGMtJGS3oSX53qR7ozsXs/DlCO5FzRxi4JodStiYaz/pPK24WFOb4sLXr758tz2u+ZP2lfDfzn9nLxregZvO9m+zpToLCWlXrzjZxDesJOcfh/eszU9KUKXfXn6Jsey7ej8TYqB2DgYCfv8jGm+oLVeUOLEl7fxzjgcDdiLaXbqq7dFoOsHUABBV6kaXyE9LmkbXZB9lQ== rsa-key-20160816 

除了附加注释(这里假设为GNU sed )之外,这一行将完成以上所有内容:

 sed key.pub -e 's/---- B.*/ssh-rsa /;/Comment:/d;'|sed ':a;N;$!ba;s/\n//g;s/---.*//'