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 @   但行好事-莫问前程  阅读(2531)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2019-01-07 挖坑:hive集成kerberos
点击右上角即可分享
微信分享提示
CONTENTS