我的脚本(切换用户是必做的步骤)
cat to
sudo -u dachui ssh $1
就这么一个简单的脚本突然在某一天连接主机时报错:
ssh:could not resolve hostname weba:Name or service not known
第一反应肯定是cat /etc/hosts,查看主机名是否在文件中,结果是在的,这下我就不知道怎么查,于是上网找答案,发现大都是说这个/etc/hosts的配置问题。但我的肯定不是这个问题,所以只能重新创建一个文件,将主机名转换成大写试试,还别说,成功了,脚本如下
cat to1
name=`echo $1|tr [a-z] [A-Z]`
sudo -u dachui ssh $name
然后试着执行了下,嘿,成功了,于是就把文件名改成回了to,再次执行to脚本,又报上述错误,我心想着是不是脚本名重复了,于是试着看了下这台主机配置的别名
alias|grep to
结果还真有一个脚本被命名为to,为了确认是不是这个问题导致的脚本执行失败,我把脚本内容恢复成刚开始的内容,以绝对路径来执行脚本,结果成功了🌸
所以总结如下,在脚本没问题的情况下
1、看/etc/hosts是否配置主机别名
2、看alias是否配置了相同的别名