macOSではデフォルトでsshdが22番ポートで起動されています。これとは別に、公開鍵認証でのみアクセスできるsshdを10022番ポートで起動するようにしてみました。参考にしたのは、まずは以下の投稿です。
MacOSXで、Homebrewから入れたopensshを使う
https://kkotaro0111.hatenadiary.org/entry/20130905/1378403036
これにならってhomebrewでopensshをインストールします。
$ brew install openssh
...
$ /usr/bin/ssh -v
...
$ /usr/local/bin/ssh -v
...
$
次にopensshのsshdを10022番で起動するようにします。
$ vi /usr/local/etc/ssh/sshd_conf
...
# ForceCommand cvs server
Port 10022
このように「Port 10022」の記述を最後の行に足します。またインストールしたOpenSSH_9.0p1/OpenSSL 1.1.1n/15 Mar 2022というバージョンでは、デフォルトでパスワード認証が無効になっていたので、これについての設定は不要でした。
つぎに/usr/local/sbin/sshdを起動時に起動するようにします。これは以下の投稿を参考にしました。
[Mac]OS起動時に、スクリプトを実行する
https://qiita.com/hikouki/items/473d8ce0b1f562a94de6
$ sudo touch /Library/LaunchDaemons/ssh10022.plist
$ sudo vi /Library/LaunchDaemons/ssh10022.plist
...<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openssh.sshd10022</string>
<key>Program</key>
<string>/usr/local/sbin/sshd</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
$ sudo launchctl load -w /Library/LaunchDaemons/ssh10022.plist
p.s あわせてmoshから利用しようとしたら"mosh-server not found"となってしまうので、「$ mosh --server "/usr/local/bin/mosh" --ssh="ssh -p 10022" ....」とする必要がありました。