给要ssh的主机取个代号
原因
- 经常要ssh远程各种linux的主机
- 要记住用户名 还要记住主机的ip或者域名
- 想想就麻烦
ps: 写个shell 简化一下 说白了 就是取个代码给每台登录主机
准备
1. ~/.ssh_list(先来个配置文件 名字 路径随便取,但是要记下来后面用)
07 root@192.168.0.7
02 test@192.168.0.2
看了一下模版 是不是就知道怎么回事了,没错每行就是一组 以第一个空格分开 前面是代码 后面是目标
2. 核心脚本(几行搓搓的代码)
(short_ssh.sh)
#/bin/bash!
configfile=~/.ssh_list
show_list(){
cat $configfile
}
if [ $# == 0 ] || [ $1 == "-l" ]
then
echo "show list"
show_list
exit
elif [[ $1 = *"@"* ]]
then
ssh -t $1
exit
else
IFS=$'\n'
for line in $(<$configfile)
do
arr=($(echo $line | tr " " "\n"))
if [ ${arr[0]} == $1 ]
then
replace=""
ssh_host=${line//$1" "/$replace}
echo ssh $ssh_host
echo ${ssh_host} | xargs -o ssh
exit
fi
done
fi
内容不多 看看就知道怎么回事了
3. example
short_ssh.sh 02 => ssh test@192.168.0.2
呃记录一下
4. ps
1. 目标主机 你已配置了自己的远程公钥
2. 当然也可以跟着验证但是1方式更方便
2018-09-27
改了一下脚本 可以多带些参数更加灵活