每次我需要 ssh 进入网络服务器时,我都需要运行ssh-add <key>
。有没有办法永久添加 ID,这样我就不必在每次登录时都添加身份?
编辑:密钥是一个 pem 文件,我从云服务下载了它。
答案1
像平常一样生成密钥: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
用密钥的名称进行替换。
答案2
把这个放在你的~/.bashrc
eval $(ssh-agent)
ssh-add ~/.ssh/where_ever_privake_key_is
答案3
您可以使用以下命令生成 ssh 密钥:
ssh-keygen
然后您可以使用以下命令将密钥复制到服务器:
ssh serveruser@servername "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys"
现在您可以自动登录您的网络服务器
答案4
编写一个简短的 shell 脚本,它将运行 ssh-add 然后连接,如下所示:
ssh-add ~/.ssh/your-key
ssh user@remotehost
然后您可以使用一个命令 ssh 进入您的主机。