【ssh

编程入门 行业动态 更新时间:2024-10-12 20:25:28

【<a href=https://www.elefans.com/category/jswz/34/1766414.html style=ssh"/>

【ssh

当要使用多个不同的private key登录不同的主机时,我们可以在ssh命令里面用-i参数指定每次使用的private key文件。
但是这样做比较发麻而且容易出错,我们可以利用~/.ssh/config文件,在让ssh自动为我们决定应该使用哪个key。

基本方法

最简单的办法是配置多个IdentityFile,具体例子如下:

IdentityFile ~/.ssh/key1
IdentityFile ~/.ssh/key2
IdentityFile ~/.ssh/key3

默认情况下,我们是没有这个文件的,ssh会调用/etc/ssh/ssh_config里的配置。通常使用ssh-keygen生成的默认路径和文件名的key文件是被包含在里面的(比如id_rsaid_dsaid_ecdsa),这也就是我们不需要编写我们自己的config文件,ssh也可以正确加载私钥。
在使用ssh链接某台主机的时候,ssh会依次尝试使用其中各个key,直到找到合适的。

高级配置

高级一点的方法是在config文件里指定每个hostname使用的key文件。

# laptop
Host mylaptop # 任意自定义名称
HostName 192.168.0.120 # 主机地址
IdentityFile ~/.ssh/id_rsa # 私钥文件地址
Port 2222
User zhangsan# cloud server
Host server
HostName www.my-server
IdentityFile ~/.ssh/id_rsa_cloud
User lisi

如上,我们不仅可以配置私钥文件,还可以针对各个主机所使用的配置端口号、用户名等信息,从而大大简化ssh的使用。它还支持更多的配置选项,大家有兴趣可以查看文档。
比如我们可以使用ssh mylaptop来替换ssh -p 2222 -i ~/.ssh/id_rsa zhangsan@192.168.0.120使用用户名zhangsan连接主机192.168.0.120的2222端口。

值得一提的是,我们不仅可以给每一个主机都配置一个key文件,还可以在最开始指定一些默认key文件,来应用于所有未知名的远程主机。
比如我有一个集群,和一台远程服务器,那么我们可以采用下面的配置文件来方便的登录所有这些机器。

IdentityFile ~/.ssh/id_rsa_cluster # 默认使用本秘钥# cloud server
Host server
HostName www.my-server
IdentityFile ~/.ssh/id_rsa_cloud
User lisi

更多推荐

【ssh

本文发布于:2023-12-06 08:39:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1667042.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ssh

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!