公司有多態服務器,因爲安全等緣由,每次登錄的時候都須要輸入一次密碼,安全是安全了,可是對於咱們常常要上上下下的人來講,簡直就是慢性謀殺。爲了讓登錄再方便起來,我們必須得解決這個問題。原本想着下一個新的軟件去管理,後面發現其實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 用戶名@主機名
複製代碼
接下來咱們用剛纔的配置的快捷鍵便可快速登陸服務器啦
control + command + T
複製代碼