针对不同主机使用不同 SSH Key
来源:互联网 发布:交大网络大学 编辑:程序博客网 时间:2024/05/23 21:23
针对不同主机使用不同 SSH Key
考虑到安全性和便捷性,相信大部分同学都已经习惯了 SSH key 登录这种方式。有时候我们需要针对不同主机使用不同的 key,甚至针对同一个主机使用不同的 key,都可以通过 ~/.ssh/config 这个配置文件来实现。
默认情况下,ssh 会使用 ~/.ssh/id_rsa。这里,我通过 ssh-keygen 命令生成另外一个 key 用于 git.imququ.com 这个我自建的 gitlab 服务:
接下来将 id_rsa_gitlab.pub 这个公钥文件内容添加到 gitlab 的后台(Mac 下可以使用 pbcopy 这个命令复制内容到剪切板,避免出现格式问题)。
现在我们来 git clone 项目试试:
显然,提示没有权限。因为默认 ssh 根本不认我刚刚生成的 id_rsa_gitlab 这个私钥。我们需要做的是告诉 ssh 要用另外的 key 登录,打开 ~/.ssh/config(没有就新建一个),输入以下内容:
第一行是注释,第二行是指定如果 Host 匹配上了 git.ququ,就使用接下来几行指定的配置登录 ssh。HostName、Port、User、IdentityFile 分别是具体的主机、端口、用户名和私钥 key 的配置。需要注意的是 Host 可以跟 HostName 一样,也可以定义为你想要的任何内容,所以通常我用一个好记的短名称作为 Host。
将之前的「git@git.imququ.com」替换为「git.ququ」再来试试:
嗯,这样就没问题了。同样,如果要给同一个主机指定不同的 key 文件也很简单:
这样全局任何地方通过 host1、host2 登录 ssh 时,都会自动选择不同的 key 文件。
所以,通过 ssh 的 config 文件可以进一步简化登录过程。实际上我可以通过「ssh q」登录我的 VPS;配置 SFTP 等服务时,也只用在 host 那一栏填一个「q」,用户名、端口什么的都不用填。因为我有这样的配置:
由于参数是集中配置的,如果某天我要更换 ssh 服务的端口,只需要在这里改一次就可以了,十分方便。实际上,ssh config 的 Host 字段还支持通配符,有更高级的玩法,不过暂时没这复杂的需求。这里有一份完整文档,以后有需要再研究。
- 针对不同主机使用不同 SSH Key
- 针对ie应该使用不同的css
- 使用RMAN恢复数据库到不同主机
- 不同主机同一用户之间SSH信任关系的建立
- 不同主机同一用户之间SSH信任关系的建立
- CentOS 7 下不同主机间 ssh 免密码登录
- 给用户主机添加SSH密钥使用key
- Maven针对不同的环境使用Profile完成打包部署
- Maven针对不同的环境使用Profile完成打包部署
- Anaconda不同版本下共存使用,针对Jupyter
- 在一个应用中,如何针对不同的外部客户系统,使用不同的数字证书?
- 摄影口诀--针对不同情景
- css针对不同版本ie
- Oracle数据库恢复-使用RMAN恢复到不同主机实例
- VBS使用不同的登录 重新访问网络主机
- Linux系统:不同主机同一用户之间SSH信任关系的建立
- window下让git根据服务器自动选择不同的ssh key
- 解决SSH框架中Struts不能接受Android的不同Key值上传图片问题
- iOS CocoaPods安装方法
- 文章标题
- eclipes安装离线Genymotion插件方法
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十八):增加排行榜功能
- RBM (受限玻尔兹曼机)
- 针对不同主机使用不同 SSH Key
- 囧研究:睡足8小时扯淡!
- 【转】sqlserver字段类型详解
- ios超精细详解之NSRunLoop
- layoutSubviews什么时候调用
- Android 4.4后WebView的一些注意事项
- Java反射实现接口
- springmvc学习笔记 1 --- helloworld
- 小米开源文件管理器MiCodeFileExplorer-源码研究(4)-文件操作工具类FileOperationHelper