引入
找了很久的MAC SSH軟件,希望能找到一個像X SHELL一樣在WINDOW上面那么好用的連接工具。在接連使用了SECURE CRT, iTERM-2,ZOC-7這些軟件后,都感覺比較一般,最后不信邪研究了半天,終於找到一個辦法。
只需三步。
填寫主機信息
取名為hosts文件,文件格式如下:
10.1.11.172 root Z5JajIo*7d 10.1.11.173 root 8*@4M8Qfvv 10.1.11.174 root n*y$S$1qCf
主機IP,用戶名,密碼,保存即可,如果要添加主機則直接新增一行
編寫腳本
共兩個腳本,我貼下來:
expect文件
#!/usr/bin/expect -f set user [lindex $argv 0] set host [lindex $argv 1] set password [lindex $argv 2] set timeout -1 spawn ssh $user@$host expect "*assword:*" send "$password\r" interact expect eof
ssh.sh
#!/bin/bash #這是host文件路徑 inputHost=`grep $1 /Users/garfield/.ssh/hosts` host=`echo $inputHost | awk '{print $1}'` user=`echo $inputHost | awk '{print $2}'` psd=`echo $inputHost | awk '{print $3}'` echo $inputHost #這是expect文件路徑 expect /Users/garfield/.ssh/expect $user $host $psd
連接主機
做好上述兩個步驟后,只要輸入命令連接主機即可
sh ssh.sh 172
注意不必輸入完全的IP,只需要輸入后綴即可,因為腳本會根據輸入的內容從hosts文件中直接過濾出對應的IP,如果輸入的172無法找到精確的IP,那就加一點詳細信息,比如
sh ssh.sh 11.172
這樣就連接上啦。
優化
這樣子做已經實現了主機互聯的功能,也可以永久記住主機的賬號密碼,但連接的超時時間還沒設置,如果能夠控制用戶操作的時長就更完美了,后面有空再寫。
后面決定加個SFTP的功能,可以快捷上傳下載
