前言
公司有多态服务器,由于安全等原因,每次登陆的时候都需要输入一次密码,安全是安全了,但是对于我们经常要上上下下的人来说,简直就是慢性谋杀。为了让登陆再方便起来,咱们必须得解决这个问题。本来想着下一个新的软件去管理,后面发现其实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 用户名@主机名
接下来我们用刚才的配置的快捷键即可快速登录服务器啦
control + command + T
参考资料
Mac下更换Homebrew的更新源为国内加速镜像
Mac brew update 非常慢... 更换brew镜像源解决
如何在Mac上安装sshpass?
mac中使用brew安装软件,下载太慢怎么办?