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的功能,可以快捷上传下载

posted @ 2020-01-07 10:57  但行好事-莫问前程  阅读(2519)  评论(0编辑  收藏  举报