zoukankan      html  css  js  c++  java
  • 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
    "
    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的功能,可以快捷上传下载

  • 相关阅读:
    第3节:vue-router如何参数传递
    第2节:vue-router配置子路由
    Vue-router笔记 第1节:Vue-router入门
    vue-cli模版解读
    Vue-cli项目结构讲解
    vue-cli笔记
    实例属性
    实例方法-扩展器-生命zhou
    父子组件
    伪数组转为数组 Array.prototype.slice.call(arguments)
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/12160299.html
Copyright © 2011-2022 走看看