4

This question is similar to the question here, about changing the sshd port on Mac OSX, but instead of changing the port number, I want to change the listen address of my Mac's ssh server. Setting it in /etc/sshd_config doesn't work (just like it doesn't work for port numbers).

According to the man page on SSHD_CONFIG(5):

On Mac OS X, sshd is started on demand by launchd(8). The specification of the address on which sshd will listen is given in the launchd.plist(5) file /System/Library/LaunchDaemons/ssh.plist. The values of ListenAddress and Port are only used when sshd is run from the command line. Use launchctl(1) to unload and load the plist file. The port number on which sshd listens can be set by changing the value of the SockServiceName key in the plist file.

This answer shows how to set SockServiceName to change the port number, but I'm unclear on how to change the listen address.

Deos anyone know how?

2

2 Answers 2

3
+50

The answer is similar to the one you linked to.

In the file /System/Library/LaunchDaemons/ssh.plist, you need to edit the Listeners item. The IP address can be specified with they key SockNodeName. When you're done, the Listeners part of the file should look something like this:

 <key>Listeners</key>
 <dict>
         <key>SockNodeName</key>
         <string>10.10.1.70</string>  ####This is the IP address you want
         <key>SockServiceName</key>
         <string>ssh</string>
         <key>Bonjour</key>
         <array>
                 <string>ssh</string>
                 <string>sftp-ssh</string>
         </array>
 </dict>

Once you're done, you reload the config by doing

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
4
  • That's the perfect answer Mar 6, 2015 at 21:29
  • Note: This doesn't seem to be documented anywhere. Mar 6, 2015 at 21:36
  • @ChrisLercher It's in the manpage for launchd.plist, but it's not terribly clear.
    – Jenny D
    Mar 7, 2015 at 6:02
  • @ChrisLercher Oh, BTW, you could use a hostname instead of an IP address if you like.
    – Jenny D
    Mar 7, 2015 at 6:02
-2

sshd has a ListenAddress config option. i do not know if OS/X has a new enough version of ssh for this.

i have used this on an older Ubuntu server to get sshd to listen on port 443 with Apache listening to the same port on another IP.

3
  • If you re-read the question, you'll see that this does not work in MacOSX - it uses a separate configuration for this.
    – Jenny D
    Mar 6, 2015 at 13:08
  • it has a modified ssh or generates the ssh config? knowing this is needed to solve
    – Skaperen
    Mar 6, 2015 at 13:11
  • Yes, knowing how the OS handles configuration for starting system daemons is indeed needed to solve the problem.
    – Jenny D
    Mar 6, 2015 at 13:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .