关于修改全局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了,就先说到这吧。
012020-04-11
相似问题