Skip to main content

SSH Daemon on a Mac

A Mac is a weird thing that doesn't always know whether it wants to be BSD or Linux.

Enable Remote Login
You should only need to enable remote login:
$ sudo systemsetup -setremotelogin on

If the above doesn't work, here is the magical incantation to start a SSH Server:
$ sudo launchctl start /System/Library/LaunchDaemons/ssh.plist

One can then check it with a Telnet client:
$ telnet localhost ssh 
 Trying ::1... 
 Connected to localhost. Escape character is '^]'. 
 SSH-2.0-OpenSSH_6.2 ^] 
 telnet> q 
 Connection closed. 

Now you can use scp and ssh from another machine on the LAN, but one needs to know what the IP address is:
$ ifconfig en0 | grep inet 
inet6 fe80::5626:96ff:fece:371f%en0 prefixlen 64 scopeid 0x4 
inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255

Run SSHD On A Different Port

If you want to allow internet access to your Mac and don't want to be bothered by script kiddies all the time, then you need to change sshd to a different port. 

The Mac launchctl system seems to ignore the /etc/sshd_conf file.  The only way that I could convince it to run on a different port, was by editing the /etc/services file and then reloading sshd with launchctl.

$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
 

This will automatically change the firewall port also.  


SSHD Won't Run After Reboot
Verify that /System/Library/LaunchDaemons/ssh.plist exist and make sure <key>Disabled</key> is not set to <true/>. Also make sure it starts on boot every time with <key>RunAtLoad</key> set to <true/>:
....
<dict>
    <key>Disabled</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>Label</key>
    <string>com.openssh.sshd</string>
....

Then run the following to make sure the new settings stick:

sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist


La voila!


Comments

Popular posts from this blog

Parasitic Quadrifilar Helical Antenna

This article was reprinted in OSCAR News, March 2018:  http://www.amsat-uk.org If you want to receive Satellite Weather Pictures , then you need a decent antenna, otherwise you will receive more noise than picture. For polar orbit satellites, one needs an antenna with a mushroom shaped radiation pattern .  It needs to have strong gain towards the horizon where the satellites are distant, less gain upwards where they are close and as little as possible downwards, which would be wasted and a source of noise.  Most satellites are spin stabilized and therefore the antenna also needs circular polarization, otherwise the received signal will flutter as the antennas rotate through nulls. The helical antenna, first proposed by Kraus in 1948, is the natural solution to circular polarized satellite communications.  It is a simple twisted wire - there seems to be nothing to it.  Various papers have been published on helix antennas, so the operation is pretty well understood. Therefore,

Weather Satellite Turnstile Antennas for the 2 meter Band

NEC2, 2 m band, 146 MHz, Yagi Turnstile Simulation and Build This article describes a Turnstile Antenna for the 2 meter band, 146 MHz amateur satcom, 137 MHz NOAA and Russian Meteor weather satellites.  Weather satellite reception is described here .  A quadrifilar helical antenna is described here .   Engineering, is the art of making what you need,  from what you can get. Radiation Pattern of the Three Element Yagi-Uda Antenna Once one combine and cross two Yagis, the pattern becomes distinctly twisted. The right hand polarization actually becomes visible in the radiation pattern plot, which I found really cool. Radiation Pattern of Six Element Turnstile Antenna Only a true RF Geek can appreciate the twisted invisible inner beauty of a herring bone antenna... Six Element Turnstile Antenna Essentially, it is three crosses on a stick.  The driven elements are broken in the middle at the drive points.  The other elements can go straight throug

To C or not to C, That is the Question

As most would know, the Kernighan and Ritchie C Programming Language is an improved version of B, which is a simplified version of BCPL, which is derived from ALGOL, which is the Ur computer language that started the whole madness, when Adam needed an operating system for his Abacus, to count Eve's apples in the garden of Eden in Iraq.  The result is that C is my favourite, most hated computer language , which I use for everything. At university, I learned FORTRAN with punch cards on a Sperry-Univac, in order to run SPICE, to simulate an operational amplifier.  Computers rapidly lost their glamour after that era! Nobody taught me C.  I bought the book and figured it out myself. Over time, I wrote a couple of assemblers, a linker-locator, various low level debuggers and schedulers and I even fixed a bug in a C compiler - not because I wanted to, but because I had to, to get the job done!   Much of my software work was down in the weeds with DSP and radio modems ( Synchronization,