使用ssh-keygen
创建密钥后,默认会将公司钥保存至~/.ssh
目录下,文件名分别为id_rsa
和id_rsa.pub
(如果你使用的是rsa加密)。这种情况下,一般不需要配置其他内容即可使用这个密钥。
但是,如果你生成的密钥不是这个名字!
那么ssh
是不会默认使用这个密钥的!
这也很自然,毕竟~/.ssh
下可能放着一堆密钥,怎么知道用哪个呢?
要使用一个密钥,需要编辑/etc/ssh/ssh_config
文件(需要root权限),把你要使用的密钥声明出来:
Host *
# 默认情况下这个文件中的Host *下有很多注释
# 不用管这些注释,直接新增一行以下内容即可
IdentityFile ~/.ssh/<你使用的密钥的【私钥】文件名>
假如你创建的密钥叫my_key
(私钥)和my_key.pub
(公钥),那么这里需要新增的内容就是
IdentityFile ~/.ssh/my_key
保存后会在下次连接时生效。
显然Host *
行是声明匹配规则的,因此如果你想在某个特定的server使用特定的配置(包括特定的密钥)只需要新建一个Host段,修改匹配规则即可。