【发布时间】:2020-07-25 14:50:40
【问题描述】:
我正在尝试将公钥存储(附加)到文件(~/.ssh/authorized_keys)中,以获得实际存储在 s3 中的私钥(private-key.pem),全部使用 bash 脚本。
使用文件检索公钥:
ssh-keygen -y -f /path/to/private-key.pem
输出:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
然后手动将内容添加到 dest 文件,这很好,但我想使用命令来完成,检索存储在 s3(公共 url)中的文件并将内容输出附加到文件(~/. ssh/authorized_keys)。
我试过了:
ssh-keygen -y -f /dev/stdin <<< `curl https://bucket.s3.amazonaws.com/private-key.pem` >> ~/.ssh/authorized_keys
输出:
Load key "/dev/stdin": invalid format
还有这个:
curl https://bucket.s3.amazonaws.com/private-key.pem | ssh-keygen -y -f /dev/stdin >> ~/.ssh/authorized_keys
输出:
Permissions 0660 for '/dev/stdin' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/dev/stdin": bad permissions
【问题讨论】:
-
这没有意义,因为命令需要一个文件:ssh-keygen -y [-f input_keyfile] ref:man7.org/linux/man-pages/man1/ssh-keygen.1.html 预期输出:没有这样的文件或目录
标签: ssh openssh ssh-keygen