背景
MacOS升级打12.0以上后,定制设计系统自带的版本为8.6p1,定制设计在某些场景下会出现乱码情况,定制设计需要降版本到8.4以下。可以使用brew定制设计安装制定版本的OpenSSH。定制设计参考此方法也可以安装定制设计指定版本的其他Mac软件。
一、 安装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 ~/.zshrcexport HOMEBREW_NO_AUTO_UPDATE=true#刷新环境变量source ~/.zshrc
- 1
- 2
- 3
- 4
使用保存的openssh.rb文件安装OpenSSH。
❯ ssh -VOpenSSH_8.6p1, LibreSSL 3.3.6❯ cd ~/Desktop❯ brew unlink openssh❯ brew install ./openssh.rb❯ ssh -VOpenSSH_8.4p1, OpenSSL 1.1.1q 5 Jul 2022
- 1
- 2
- 3
- 4
- 5
- 6
- 7
使用brew install ./openssh.rb命令进行安装,可能会出现如下报错。
解决方法:将openssh.rb文件中以下几行内容删除。
bottle do sha256 "291bda7c89dd8086c24a920f3a0ce0d03719f76d8aeecabfc1b6cac44e5a973e" => :big_sur sha256 "138d45d469062c9b9622b9a962770041921b80fb88f291ec9c778c6409076238" => :arm64_big_sur sha256 "0eaaea9198eb264ce6c3ac5ddbba1fcfeceafa000f039317d5e746f4408088b5" => :catalina sha256 "eac0ab69709477e02dd8f86142f531a9ced2a34737fd92d6b7d796152b85fcbe" => :mojave end
- 1
- 2
- 3
- 4
- 5
- 6
重新执行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_profilealias 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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8