本文主要是介绍MacOS12安装低版本OpenSSH,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
MacOS升级到12.0以上后,系统自带的OpenSSH版本为8.6p1,在某些场景下会出现乱码情况,需要降版本到8.4以下。可以使用brew安装制定版本的OpenSSH。参考此方法也可以安装指定版本的其他Mac软件。
一、 安装brew
MacOS 安装 Brew
二、查找rb文件地址
扩展名.RB文件是一种Ruby源代码文件,RB文件属于编程文件。
brew info openssh
使用brew info获取到openssh.rb的地址为:https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssh.rb
三、查找指定版本rb文件
将openssh.rb的地址复制到浏览器打开,点击“history”。
找到指定版本的Commits,以OpenSSH_8.4p1_2为例,点击commit号查看文件。
点击openssh.rb文件后的”…"打开菜单,选择“View file“查看文件内容。
点击“RAW“
四、保存rb文件。
页面空白处右击,选择“存储为…”保存文件为openssh.rb。
以保存到桌面为例。
五、安装指定版本OpenSSH
关闭brew自动更新,在.zshrc文件中加入“export HOMEBREW_NO_AUTO_UPDATE=true“”,如果是bash请加在.bash_profile文件中,全局变量可以sudo vi /etc/profile。
vim ~/.zshrc
export HOMEBREW_NO_AUTO_UPDATE=true
#刷新环境变量
source ~/.zshrc
使用保存的openssh.rb文件安装OpenSSH。
❯ ssh -V
OpenSSH_8.6p1, LibreSSL 3.3.6
❯ cd ~/Desktop
❯ brew unlink openssh
❯ brew install ./openssh.rb
❯ ssh -V
OpenSSH_8.4p1, OpenSSL 1.1.1q 5 Jul 2022
使用brew install ./openssh.rb命令进行安装,可能会出现如下报错。
解决方法:将openssh.rb文件中以下几行内容删除。
bottle dosha256 "291bda7c89dd8086c24a920f3a0ce0d03719f76d8aeecabfc1b6cac44e5a973e" => :big_sursha256 "138d45d469062c9b9622b9a962770041921b80fb88f291ec9c778c6409076238" => :arm64_big_sursha256 "0eaaea9198eb264ce6c3ac5ddbba1fcfeceafa000f039317d5e746f4408088b5" => :catalinasha256 "eac0ab69709477e02dd8f86142f531a9ced2a34737fd92d6b7d796152b85fcbe" => :mojaveend
重新执行brew install ./openssh.rb命令
六、设置别名
安装完成后检查ssh版本,如果检查发现版本为安装预期的8.4p1,则可直接使用。如果检查发现版本仍未原来的8.6p1,则需要检查OpenSSH_8.4p1的安装路径,为ssh创建别名指向该路径。
使用ssh -V命令检查结果为OpenSSH_8.4p1,OK,完成安装。
使用ssh -V命令检查结果为OpenSSH_8.6p1,需要查看OpenSSH_8.4p1安装位置,并创建别名。
使用brew list openssh查看openssh安装路径
在用户家目录下.bash_profile文件(没有则新建)内创建别名:
#在~/.bash_profile内添加别名
>vim ~/.bash_profile
alias ssh='/opt/homebrew/Cellar/openssh/8.4p1_1/bin/ssh'
alias scp='/opt/homebrew/Cellar/openssh/8.4p1_1/bin/scp'
alias sftp='/opt/homebrew/Cellar/openssh/8.4p1_1/bin/sftp'
#将配置生效命令追加到~/.zshrc文件内
>echo ‘source ~/.bash_profile‘ >> ~/.zshrc
#刷新生效
>source ~/zshrc
这篇关于MacOS12安装低版本OpenSSH的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!