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 存储到硬盘
临时缓存密码
| |
保存密码
| |