iterm2+sshpass+homebrew 配置遠程服務器

前言

公司有多態服務器,因爲安全等緣由,每次登錄的時候都須要輸入一次密碼,安全是安全了,可是對於咱們常常要上上下下的人來講,簡直就是慢性謀殺。爲了讓登錄再方便起來,我們必須得解決這個問題。原本想着下一個新的軟件去管理,後面發現其實sshpass能夠搭配iterm2完成這個功能了,只須要配置一下便可。配置的過程當中,遇到一些坑,記錄下來,遇到相似問題的小夥伴能夠參考下html

坑坑窪窪

嘗試使用brew安裝linux

brew install sshpass
複製代碼

結果卡死在git

brew install sshpass
Updating Homebrew...
複製代碼

這個極可能是鏡像資源在國外的問題,我們把它換成國內的試下github

# 替換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
複製代碼

後面試了一下不行,依然報錯,😌心累!!!bash

後面打開這個文件發現裏面這樣的文件服務器

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 這個文件,看起來像這樣ssh

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
相關文章
相關標籤/搜索