macOS 修改 SSHD端口

  1. 在目前macOS Catalina(10.15)上已失效

由于目前的Catalina安全策略

在macOS Catalina中,Apple推出了一种新的文件系统分区结构。新的文件系统分区结构将一个分区作为包含操作系统本身的专用“只读”系统卷,并且与所有用户数据完全分开。除了经过Apple签名的代码(例如:系统更新)之外的任何内容都无法覆盖操作系统文件。这样的机制,基本上使系统完整性保护到达了一个新的水平。现在,整个分区都是封闭的,而不再仅仅是在未受保护的分区中仅仅保护特定位置的内容。

由于在改动后,安装路径不再像之前那么明显,因此可能会存在一些初步的混淆。例如,用户数据位于何处?在此前版本中,用户数据位于/Users/。但在Catalina新版本中,用户数据将位于/System/Volumes/Data/Users/。传统意义上的根目录/,现在将作为一个系统专用的卷。

对于企业来说,最开始要习惯修改后的路径命名约定可能会有一些困难,但从安全性原则上来看,将系统和用户数据的分区之间划分出明确的界限可能是一个良好的举措。这样一来,会使系统恢复和备份变得更加直接。Apple在先前的展示中表示,如果在安装第三方更新后出现问题,macOS Recovery将能够更轻松地从快照恢复。我们可以肯定,这一功能是依赖于新的磁盘分区方案。

/System/Library/LaunchDaemons/ssh.plist 已变的完全不可修改,或者修改方法未知,实测csrutil enable/disable都改不了

  1. 关闭保护机制(System Integrity Protection (SIP))

重启 command + r 进入 Recovery Mode

在终端中输入

1
csrutil disable
  1. 修改ssh.plist
1
vim /System/Library/LaunchDaemons/ssh.plist

1
2
<key>SockServiceName</key>
<string>ssh</string>

把ssh修改为要使用的端口号

1
2
<key>SockServiceName</key>
<string>2333</string>