OS X 10.7.4 上现有的 openssh 版本是 SSH-2.0-OpenSSH_5.6,不幸的是,它不符合 PCI 标准。所以,我需要升级它,我一直在尝试用 Homebrew 来升级它。
到目前为止,我所做的是:
brew tap homebrew/dupes
brew install openssh
没问题,一切顺利,现在当我尝试时,which ssh
我得到:
/usr/local/bin/ssh
看起来不错,还which sshd
给出了:
/usr/local/sbin/sshd
并ssh -v
正式报告:
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
到现在为止还挺好。但这就是我不擅长的地方。22端口仍然使用OS安装版本,也就是说telnet hostname 22
报:
SSH-2.0-OpenSSH_5.6
我试过弄乱 /System/Library/LaunchDaemons/ssh.plist 没有运气。
所以,我的问题是(可能按重要性相反的顺序):
- 如何让我的 Homebrew 安装的 openssh 成为监听端口 22 的那个?
- 如果我这样做,这会导致与 OS X 或其他软件发生冲突吗?
- 首先,我的处理方式是合理的吗?
- 我不是在想我应该做的事情吗?
- 这是一个糟糕的想法吗?
我对没有通过 PCI 合规性扫描感到沮丧,需要弄清楚这一点,坦率地说,我正在考虑将我服务器上的所有电子商务网站都更改为 stripe.com,但我想弄清楚这一点. 另外,有谁知道openssh是否会在Mountain Lion中升级?
编辑:这是我在 /System/Library/LaunchDaemons/ssh.plist 中尝试的内容:
我只编辑了一行,更改:
<string>/usr/sbin/sshd</string>
到
<string>/usr/local/sbin/sshd</string>
然后我sudo kill -HUP 1
按照下面@the-paul 的建议进行了尝试,并重新启动了 Mac。
从远程远程登录仍然显示SSH-2.0-OpenSSH_5.6
我的整个 ssh.plist 文件现在看起来像这样:http ://pastie.org/private/qnhofuxomawjdypp9wgaq