mac 怎么修改 iterm2 调用的 ssh 版本?

2019-05-13 12:51:37 +08:00
 ladypxy

用 brew 安装了最新的 openssh 和 openssl 然后发现系统现在有几个版本的 ssh

% /usr/bin/ssh -V
OpenSSH_7.8p1, LibreSSL 2.6.2

% /usr/local/opt/openssh/bin/ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2r  26 Feb 2019

% /usr/local/bin/ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2r  26 Feb 2019

用的是 zsh,所以在.zshrc 里设置了

alias ssh=/usr/local/opt/openssh/bin/ssh

这时在 iterm2 里用命令 ssh hostname 连接,使用的是 openssh 8.0 但是,如果给 iterm 添加一个 profile,profile 执行的命令填写 ssh hostname,这样连接就会用默认的 7.8 版本。当然直接写完整路径是可以的。

请问怎么设置才能让 iterm2 的 profile 默认也使用 openssh 8 ? 或者直接替代系统的 ssh 版本?试了下 sudo rm /usr/bin/ssh 似乎 不让删除

2511 次点击
所在节点    macOS
5 条回复
sunocean
2019-05-13 13:05:34 +08:00
直接写完整路径即可,又不是每次都要写的
真要完整替换的话需要关 RootLess。蛮麻烦的。也容易出问题。少折腾
yangg
2019-05-13 14:04:54 +08:00
环境变量,PATH,/usr/local/opt/openssh/bin/ 放前面即可
finull
2019-05-14 08:13:14 +08:00
试了下,iterm2 的 profile 不影响 PATH 变量啊

/usr/bin/ssh 是系统的
/usr/local/bin/ssh 是 brew link 的,后两个是同一个

用 brew 的话,path 里应该是 /usr/local/bin/ 优先的
ladypxy
2019-05-14 08:47:09 +08:00
@yangg 已经在前面了,但是还是使用的系统的
ladypxy
2019-05-14 09:03:24 +08:00
@finull 依然是这样

% which ssh
ssh: aliased to /usr/local/bin/ssh
% whereis ssh
/usr/bin/ssh

% echo $PATH
/usr/local/opt/python/libexec/bin:/usr/local/bin:/usr/local/sbin:/usr/local/opt/openssl/bin:/usr/bin:/bin:/usr/sbin:/sbin

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/563595

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX