linux修改sshd配置文件,如何设置ssh客户端的配置文件

SSH是远程登录Linux主机的最流行工具之一,SSH客户端提供的功能十分强大,具有很多连接配置选项。

如果每次登录都要重复设定一些复杂的连接参数,这很容易导致出错并且降低效率,幸运地是,我们可以通过设定ssh客户端的连接配置文件来简化登录过程中繁琐的参数设定。

本篇教程就是简要讲述ssh客户端解析配置文件的过程以及一些范例。

配置文件

ssh客户端的配置文件位于~/.ssh目录下,配置文件名统一为config;

检查该配置文件是否存在,如果不存在,则创建该文件:

touch ~/.ssh/config

配置文件范例

配置文件的内容格式范例如下:

Host root-upgrade

User root

Host test-upgrade

User test

Host *-upgrade

Port 8822

HostName 192.168.22.103

IdentifyFile ~/id_rsa_upgrade

Host *

Port 7722

IdentifyFile ~/id_rsa_common

从配置文件中可以看出,配置文件的参数是按照Host块来组织的;

每一个Host块的首部都有一条匹配规则(也就是Host名字),该匹配规则支持通配符;

如果匹配成功了,ssh连接时就会使用已经匹配成功的Host块配置选项。

进行ssh登录时只要指定Host名字(ssh host-name),

ssh客户端就会使用host-name去~/.ssh/config配置文件中寻找配置信息。

Host关键字和配置参数项的名字大小写是不敏感的。

配置文件的解析过程

SSH客户端对config配置文件的解析过程是按照Host块自上而下进行的,

如果遇到重复设置的配置参数,而该参数并不能设定多个值,则只选取第一个来使用。

参考配置文件范例中的例子,如果在命令行中执行如下命令:

ssh test-upgrade

那么客户端会找到~/.ssh/config配置文件进行自上而下的解析:

对Host root-upgrade进行匹配,匹配失败;

对Host test-upgrade进行匹配,匹配成功,那么使用该Host块的参数作为连接参数,

也就是登录的用户为test;

对Host *-upgrade进行匹配,匹配成功,那么登录的端口为8822,登录主机为192.168.22.103,

认证的私钥文件加上~/id_rsa_upgrade(私钥文件在连接时可以设定多个,~/.ssh/id_rsa下的私钥文件是在开始解析时就默认加入到认证的私钥文件中);

对Host *进行匹配,匹配成功;虽然该Host块设定使用7722设定连接端口,但是之前Port参数就已经设定该值为8822,

所以忽略该参数,并将~/id_rsa_common加入到进行认证的私钥文件中;

~/.ssh/config解析完毕。

解析完毕之后,ssh test-upgrade命令等同于以下命令:

ssh test@192.168.22.103 -p 8822 -i ~/.ssh/id_rsa -i ~/id_rsa_upgrade -i ~/id_rsa_common

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值