SSH 配置多个账户
当需要使用多个远程主机或 Git 账户时,使用 SSH 配置文件~/.ssh/config
会很方便。
常用配置项
可以通过 man ssh_config
命令来查看此配置文件的具体语法
Host
别名HostName
主机名,IP 或域名Port
端口,默认为 22User
用户名IdentityFile
密钥文件的路径,可以指定多个,会依次尝试IdentitiesOnly
只接受 SSH Key 登录PreferredAuthentications
强制使用 Public Key 验证
转义符
%d
本地用户目录%u
本地用户名称%l
本地主机名%h
远程主机名%r
远程用户名
示例
|
|
配置好以后,就可以直接使用别名登录远程主机了:ssh myserver
。
多个主机可以使用同一个密钥,也可以分别使用各自的密钥。若使用相同密钥,还可以通过使用转义符简化配置:
|
|
验证:
|
|
已经配置好 ssh,git clone 时仍然需要密码
这通常会在我们使用 https 方式克隆时发生,使用 ssh 方式克隆即可,或者是配置一下缓存。默认是不缓存的,每一次连接都会询问你的用户名和密码,我们可以设置保存到硬盘或是内存。
git-credential-cache - Helper to temporarily store passwords in memory 存储到内存
git-credential-store - Helper to store credentials on disk 存储到硬盘
临时缓存密码
|
|
保存密码
|
|