客户端正常生成git的秘钥方法如下:
ssh-keygen -t rsa
该命令执行后会在 ~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 文件。
然后把 id_rsa.pub 文件的内容拷贝到服务器的 ~/.ssh/authorized_keys 文件中去(追加方式)。
这样客户端通过 ssh 方式链接服务器就不用再每次都要输入密码了。
但是如果非正常情况下,比如客户端已经存在一个ssh链接了,比如git相关的配置,已经存在了一个git的配置。如果你再通过上面的流程操作去配置一个新的git,这时候会导致新的git可以生效,但是老的git配置失效了。
那么该怎么办呢?这里就记录一下客户端生成多个ssh秘钥的方法。
比如现在需要克隆一个新的git项目,项目名为 phpernote
则客户端操作步骤如下:
1、生成一个新的自定义名称的公钥:
ssh-keygen -t rsa -f /home/yhm/.ssh/phpernote #ssh-keygen -t rsa -f "C:\Users\yhm\.ssh\phpernote" #windows下
执行命令后,会在 ~/.ssh/ 目录下生成一个 phpernote 和 phpernote.pub 文件。
2、在 SSH 用户配置文件 ~/.ssh/config 中指定对应服务所使用的公秘钥名称,如果没有 config 文件的话就新建一个,并输入以下内容:
Host "phpernote" #可随意命名 HostName "123.56.71.70" #服务器IP地址 User "phpernote" #可以不要 Port "30215" IdentityFile "/home/yhm/.ssh/phpernote"
这样就可以在不影响之前的配置的前提下链接新的git服务器了。