ssh-copy-id 不适用于 .pem 文件

fro*_*one 5 ssh ssh-keys amazon-web-services

我正在尝试在多个 EC2 实例上复制 SSH 公钥。

阅读ssh-copy-id手册页,当您传递密钥文件时,程序会添加.pub扩展名(如果缺少)。

AWS 密钥是按.pem格式生成的,我可以使用此解决方法:

ssh-keygen -y -f my-new-key.pem | ssh user@host \
-i already-on-remote-server-key.pem 'cat > ~/.ssh/authorized_keys'
Run Code Online (Sandbox Code Playgroud)

但疑问仍然存在......是否可以使用ssh-copy-id文件.pem或唯一的解决方案是使用解决方法?

MLu*_*MLu 5

您可以ssh-copy-id与 一起使用ssh-agent。使用将文件加载my-new-key.pem到您的代理ssh-add ~/.ssh/my-new-key.pem,然后ssh-copy-id将其复制到新实例。

或者,您可以运行 newssh-agent以更好地控制要复制的内容:

~ $ ssh-agent bash -c "ssh-add ~/.ssh/my-new-key.pem; ssh-copy-id -i already-on-remote-server-key.pem user@host"
Run Code Online (Sandbox Code Playgroud)

一项未经请求的建议 - 您可以在所有 AWS 区域中重复使用 EC2 密钥,以减少需要生成和维护的密钥数量:在多个区域中重复使用 EC2 密钥对

希望有帮助:)