its*_*ang 14 ssh rsa ssh-keygen
我想为我想要SSH的家庭服务器生成一组密钥,所以我这样做ssh-keygen -t rsa,但后来我收到一条消息:id_rsa already exists. Overwrite (y/n)?
好吧,我不想覆盖,因为我现在使用的密钥用于SSH连接到我大学的服务器,每次我想切换时都必须再次完成所有垃圾操作.是否有一种简单的方法来附加密钥?
我尝试了一个教程(我找不到),提示使用cat命令,但我很丢失.似乎解决方案非常简单,我只是没有看到.
您可以在两台服务器上使用相同的公钥.如果你不想这样做,只需指定一个不同的位置~/.ssh/id_rsa时,ssh-keygen在此之前提示您,并与代理使用它:
% ssh-agent sh # Replace with your favourite shell.
$ ssh-add ~/.ssh/id_rsa_2
$ ssh somewhere
$ exit
%
Run Code Online (Sandbox Code Playgroud)
ssh-agent也可以在不启动新shell的情况下使用eval $(ssh-agent).
您可以通过在目录下的主目录中使用配置文件来实现此目的.ssh:
像往常一样生成密钥:
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)不要覆盖默认值(通常id_rsa).而是创建一个新名称.这将使用您的密钥创建一个单独的文件.
在〜/ .ssh中创建一个config包含以下内容的文件:
Host * (asterisk for all hosts or add specific host)
AddKeysToAgent yes
UseKeychain yes
IdentityFile <key> (e.g. ~/.ssh/yourKey)
Run Code Online (Sandbox Code Playgroud)钥匙现已添加到钥匙串中,可以使用!
-
您可以在配置中使用多个IdentityFiles(Mac示例):
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa_private_server
IdentityFile ~/.ssh/id_rsa_github
IdentityFile ~/.ssh/id_rsa_work_server
Run Code Online (Sandbox Code Playgroud)
小智 6
我和你有同样的问题并且我解决了。
在终端中是:
“输入要保存密钥的文件 (/home/you/.ssh/id_rsa):”
你不是打Enter或写,而是写。/home/you/.ssh/id_rsa/home/you/.ssh/id_rsa1