如何修改 mac ssh 的端口和配置

2,912 阅读2分钟

前言

我的笔记本被拿去做 NAS 了,上课的时候没有电脑可用,但在有些课上需要处理一些代码问题,iPad 的可操作性又太差了,于是我就利用路由器提供的 DDNS 服务搭配 DMZ 服务把自己的黑苹果映射到网络上去提供 sshd 服务。

但是为了提高安全性,我希望能够修改 sshd 服务的对外端口和认证方式。如果是一般是类 unix 系统的话直接修改 /etc/ssh/sshd_config 配置文件再重启 sshd 服务就可以了,但是苹果为了保证主机安全是将 sshd 作为系统内嵌服务对用户开放的,导致 sshd 的配置文件被拆分到系统的各个犄角旮旯中。

这就导致我们无论怎么修改 /etc/ssh/sshd_config 文件都无法对 sshd 服务产生影响,在踩了几个坑之后我觉得有必要记录一下正确的修改姿势。

本人操作环境:macOS Big Sur 11.6

修改 macOS sshd 端口

正确姿势:

  1. sudo vim /etc/services
  2. 找到 ssh,修改对应端口即可
  3. 重启 sshd 服务(或者重启电脑都行)

错误姿势:

  1. 直接修改 /etc/ssh/sshd_config 的 Port 选项
  2. 修改 /System/Library/LaunchDaemons/ssh.plist 配置文件(这个或许可行,但是我这边一直提示没有修改权限,哪怕我关闭了 SIP)

修改 macOS sshd 其他配置

正确姿势:直接修改 /etc/ssh/sshd_config 然后重启 sshd 即可

我做了哪些修改

  1. 修改 sshd 端口
  2. 关闭 sshd PasswordAuthentication 认证
  3. 开启 sshd PubkeyAuthentication 认证

个人认为做到以上三点就基本能够确保服务的安全性了,记得在系统的 ~/.ssh/authorized_keys 中添加常用设备的密钥就可以了,以后在其他设备连接此系统的时候连密码都不用输,安全又便捷。

参考

  1. Kevin-Lee:How to change ssh server port in mac os x