Answers:
像正常:那样生成密钥ssh-keygen
,然后使用将该密钥放置到远程服务器上ssh-copy-id
,这会将其同步到远程服务器的接受密钥。
ssh-keygen
ssh-copy-id user@host
它将提示您输入密码,然后执行将.pub
密钥与远程SSH服务器链接所需的所有步骤。
默认情况下,它将所有.pub密钥复制到远程服务器。如果您只是使用创建密钥,ssh-keygen
那么这不是问题(因为您只有一个!)。但是,如果您有多个键,则只能复制带有-i
标志的特定键。
ssh-copy-id -i ~.ssh/key_name.pub user@host
替换key_name.pub
为密钥名称。
您可以使用以下命令生成ssh密钥:
ssh-keygen
然后,您可以使用以下命令将密钥复制到服务器:
ssh serveruser@servername "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys"
现在,您可以自动登录网络服务器
ssh-copy-id -i ~/.ssh/id_dsa.pub serveruser@servername
或~/.ssh/id_rsa.pub
。实际上,如果您使用密钥文件的默认名称,您甚至不必指定它。
对于AWS,下载pem密钥,然后运行:
ssh-add /path/to/pemfile.pem
这对我有用,ubuntu 18.04。来源,不需要其他任何内容。
注意:但是,在执行此操作之前,将权限设置为400很重要。
chmod 400 /path/to/pemfile.pem
如果没有,您将得到一个错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @ @
警告:未保护的私钥文件!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ / @ / @@@@@@@@@@的/home/toing_toing/blablabla.pem权限0664太开放。要求他人不能访问您的私钥文件。此私钥将被忽略。
您是否在谈论Amazon Cloud?在〜/ .bashrc中,创建环境变量:
# Amazon
export EC2_PRIVATE_KEY=$HOME/Keys/pk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
export EC2_CERT=$HOME/Keys/cert-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
ssh-keygen
或ssh-copy-id
。在另一方面,像回答这一个给我给我的知识水平是完全明确的和有用的。由您决定是否要以任何方式调整答案以帮助像我这样无知的人。:)