关于修改全局ssh_config

来源:5-8 用 config 文件配置 SSH

少年枕边的王者梦阿

2020-04-11

图片描述
如图,在视频的后段部分你的操作是客户端的局部别名配置,我的理解是这个配置只能在这个客户端(假设为客户a)生效。但是我想在别的虚拟机(客户b,c,d…)上也能用ssh 别名 这样登入,于是我想到了你讲的在服务器上的/etc/ssh/ssh_config 中修改(添加的如上图)在服务器上配置好一个新的别名之后(与客户端a自局部配置的不同),继续在客户端a 用在服务器上的别名登入,失败。怎样才能达到在不同客户端中输入已经配置好的别名也能登入上呢?(失败结果下图)
图片描述

写回答

1回答

慕少7118645

2020-04-11

同学你好,我分享一下我的理解吧,不一定完全正确!(咱先不扯有DNS之类)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.比如,你在客户机a的/etc/ssh/ssh_config中配置如下:

Host lgx

         HostName 101.200.160.233

         Port 22

         User root


首先,/etc/ssh/ssh_config是全局配置文件,怎么理解?比如,在你的客户机中有root用户、goldcuckoo用户、oscar用户、thoma用户。

那么,使用以上四个用户都可以采用 ssh lgx远程访问101.200.160.233。类似下面四种命令都可以正常执行:


[root@srys-predater  ~] ssh lgx          OK

[goldcuckoo@srys-predater  ~] ssh lgx    OK

[oscar@srys-predater  ~] ssh lgx         OK

[thoma@srys-predater  ~] ssh lgx        OK

 

因为/etc/ssh/ssh_config是全局配置文件,全局是针对客户机所有用户的,意思就所有用户都可以将lgx解析为101.200.160.233。

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.如果客户机a没有配置全局配置文件,比如,你只在goldcuckoo用户家目录下配置局部配置文件/home/goldcuckoo/.ssh/config,内容如下:

Host lgx

         HostName 101.200.160.233

         Port 22

         User root

/home/goldcuckoo/.ssh/config配置文件只针对goldcuckoo用户有效,意思就是只有goldcuckoo用户可以将lgx解析为101.200.160.233。root用户、oscar用户和thoma用户不能解析lgx的含义。

[root@srys-predater  ~] ssh lgx          不OK

[goldcuckoo@srys-predater  ~] ssh lgx    OK

[oscar@srys-predater  ~] ssh lgx         不OK

[thoma@srys-predater  ~] ssh lgx        不OK

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.好了,你想在别的虚拟机(客户b,c,d…),也能使用类似ssh lgx 访问101.200.160.233,那么就在客户机 b c d中都得配置相关信息(/etc/ssh/ssh_config或者~/.ssh/config)

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4.最后,你想表达意思我大概明白。你想在101.200.160.233服务器的全局客户端配置文件(/etc/ssh/ssh_config)中一次配置别名,然后客户机a b c d都通过别名访问101.200.160.233这台服务器。

其实,你这个想法,在概念规则上是错误的,实现不了你所描述的功能。


那么就扯到了DNS了,就先说到这吧。


0
1
少年枕边的王者梦阿
为什么能实现呢,就很烦23333
2020-04-11
共1条回复

Linux核心技能与应用

一网打尽Linux必备核心技能,面试、升职必备的“敲门砖”。

2089 学习 · 692 问题

查看课程