MAC篇 超级简单的连接远程主机方法(永久记住)
引入
找了很久的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的功能,可以快捷上传下载