美文网首页
iterm2+sshpass+homebrew 配置远程服务器

iterm2+sshpass+homebrew 配置远程服务器

作者: 鸡仔说 | 来源:发表于2019-03-07 09:11 被阅读0次

    前言

    公司有多态服务器,由于安全等原因,每次登陆的时候都需要输入一次密码,安全是安全了,但是对于我们经常要上上下下的人来说,简直就是慢性谋杀。为了让登陆再方便起来,咱们必须得解决这个问题。本来想着下一个新的软件去管理,后面发现其实sshpass可以搭配iterm2完成这个功能了,只需要配置一下即可。配置的过程中,遇到一些坑,记录下来,遇到类似问题的小伙伴可以参考下

    坑坑洼洼

    尝试使用brew安装

    brew install sshpass
    

    结果卡死在

    brew install sshpass
    Updating Homebrew...
    

    这个很可能是镜像资源在国外的问题,咱们把它换成国内的试下

    # 替换brew.git
    cd `brew --repo`
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
    
    # 替换homebrew-core.git
    cd `brew --repo`/Library/Taps/homebrew/homebrew-core
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
    
    # 更新一下
    brew update
    

    再运行安装命令

    brew install sshpass
    

    结果发现依然卡死在这一步

    $ brew install sshpass
    ==> Downloading http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz
    
    curl: (7) Failed to connect to sourceforge.net port 80: Operation timed out
    Error: An exception occurred within a child process:
      DownloadError: Failed to download resource "sshpass"
    Download failed: http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz
    

    后面想着用迅雷下载下来,然后直接丢到homebrew的cache区让它基于此安装

    迅雷下载
    结果依然不顺。难!后面去 Stack Overflow 看,有说这样下载的
    brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
    

    后面试了一下不行,依然报错,😌心累!!!

    后面打开这个文件发现里面这样的文件

    require 'formula'
    
    class Sshpass < Formula
      url 'http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz'
      homepage 'http://sourceforge.net/projects/sshpass'
      sha256 'c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60'
    
      def install
        system "./configure", "--disable-debug", "--disable-dependency-tracking",
                              "--prefix=#{prefix}"
        system "make install"
      end
    
      def test
        system "sshpass"
      end
    end
    

    发现它其实走的还是刚才那个链接下载,其实我们最终只需要找到能够下载 sshpass-1.06.tar.gz 这个文件的链接替换即可。寻寻觅觅又几年。终于找到替换了之前的下载链接,现在 sshpass.rb 这个文件,看起来像这样

    require 'formula'
    
    class Sshpass < Formula
      url 'https://fossies.org/linux/privat/sshpass-1.06.tar.gz'
      homepage 'http://sourceforge.net/projects/sshpass'
      sha256 'c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60'
    
      def install
        system "./configure", "--disable-debug", "--disable-dependency-tracking",
                              "--prefix=#{prefix}"
        system "make install"
      end
    
      def test
        system "sshpass"
      end
    end
    

    现在我们只需要在修改后的 sshpass.rb 文件丢到brew能够安装的缓存区安装即可

    cd `brew --cache`
    
    # 移动刚才修改的 sshpass.rb 文件至 缓存区
    mv ~/Downloads/sshpass.rb ./
    
    brew install ./sshpass.rb
    
    # 测试一下
    sshpass
    

    发现安装成功

    接下来我们打开iterm2的配置项,快捷键 command + ,

    如图在 profiles 中添加一个服务器配置项,在 General 中填入名称,配置好快捷键,并设置登录命令,登录命令的规则是

    sshpass -p 你的密码 ssh 用户名@主机名
    
    image.png

    接下来我们用刚才的配置的快捷键即可快速登录服务器啦

    control + command + T
    

    参考资料

    Mac下更换Homebrew的更新源为国内加速镜像
    Mac brew update 非常慢... 更换brew镜像源解决
    如何在Mac上安装sshpass?
    mac中使用brew安装软件,下载太慢怎么办?

    tail_qrcode.jpg

    相关文章

      网友评论

          本文标题:iterm2+sshpass+homebrew 配置远程服务器

          本文链接:https://www.haomeiwen.com/subject/xuxauqtx.html