
用 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 似乎 不让删除
1 sunocean 2019-05-13 13:05:34 +08:00 via iPhone 直接写完整路径即可,又不是每次都要写的 真要完整替换的话需要关 RootLess。蛮麻烦的。也容易出问题。少折腾 |
2 yangg 2019-05-13 14:04:54 +08:00 环境变量,PATH,/usr/local/opt/openssh/bin/ 放前面即可 |
3 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/ 优先的 |
4 Dragonish3600 OP @yangg 已经在前面了,但是还是使用的系统的 |
5 Dragonish3600 OP @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 |