ในการแก้ไขพอร์ต ssh คุณต้องแก้ไข ssh launch daemon ของโฮสต์เซิร์ฟเวอร์ ssh:
- ปิดใช้งาน SIP
เปิด ssh.plist:
sudo nano /System/Library/LaunchDaemons/ssh.plist
แก้ไข<key>Sockets</key>
(พอร์ตตัวอย่างที่นี่: 10022) จาก
...
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>ssh</string>
<key>Bonjour</key>
<array>
<string>ssh</string>
<string>sftp-ssh</string>
</array>
</dict>
</dict>
...
ไปยัง
...
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>10022</string>
<key>Bonjour</key>
<array>
<string>10022</string>
<string>10022</string>
</array>
</dict>
</dict>
...
ยกเลิกการโหลดและโหลด daemon
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
- ทดสอบ ssh daemon
- เปิดใช้งาน SIP
อีกทางเลือกหนึ่งคือการสร้างdaemon เรียกใช้sshตัวที่สองใน / Library / LaunchDaemons /:
คัดลอก ssh.plist
sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist
แก้ไข ssh2.plist:
sudo nano /Library/LaunchDaemons/ssh2.plist
เปลี่ยนป้ายชื่อคีย์เป็น
<key>Label</key>
<string>com.openssh.sshd2</string>
เปลี่ยนรหัส<key>Sockets</key>
ตามที่อธิบายไว้ก่อนหน้านี้
- ปิดใช้งาน SSH ในการตั้งค่าระบบ> การแชร์> การเข้าสู่ระบบระยะไกล
โหลด launch daemon:
sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist
- ด้วยการตรวจสอบคีย์ที่เข้มงวดเปิดใช้งานในไฟล์ ssh config บนโฮสต์ไคลเอนต์ ssh คุณอาจต้องลบเซิร์ฟเวอร์ ssh ออกจากไฟล์ known_hosts ของรีโมตโฮสต์นี้
- เข้าถึงเซิร์ฟเวอร์ ssh ด้วย
ssh user@IP -p <port>