OpenSSH mit Mac OS X und Ubuntu
Anstatt mit AppleTalk oder mit Samba eine Verbindung von Gnu/Linux zum Mac OS X auf meinem iBook herzustellen, kann man auch mit OpenSSH (Open Secure Shell) das SSH-Protokoll für eine verschlüsselte Verbindung über ein Computernetzwerk benutzen. Das ist zwar nicht so einfach einzurichten wie AppelTalk, dafür hat man aber sicheren Zugriff über das Terminal mit einer Shell (ssh) oder mit einem verschlüsselten FTP (sftp).
Der OpenSSH-Client ist auf beiden Systemen standardmäßig installiert. Um auf das jeweilige System auch zugreifen zu können, muss man noch den OpenSSH-Server installieren. Unter Ubuntu ist das keine Herausforderung:
christian@Gobuchul:~$ sudo aptitude install openssh-server
Schon wird der OpenSSH-Server installiert, die Keys für die verschlüsselte Verbindung gleich generiert und der Server neu gestartet:
Richte openssh-server ein (4.3p2-5ubuntu1) ... Creating SSH2 RSA key; this may take some time ... Creating SSH2 DSA key; this may take some time ... * Restarting OpenBSD Secure Shell server... [ ok ]
Unter Mac OS X gestaltet sich die Sache nur dann ein wenig schwieriger, falls OpenSSH aus irgendwelchen Gründen nicht installiert sein sollte. Meist wird es mitgeliefert, was man im Terminal mit einem
Balveda:~ christian$ ssh -v OpenSSH_4.5p1, OpenSSL 0.9.7l 28 Sep 2006
herausbekommt. Sollte OpenSSH aus irgendwelchen Gründen nicht vorhanden sein, sollte man es sich installieren, z. B. mit den Darwin-Ports von OpenDarwin. Dazu einfach den Package-Installer für Panther oder Tiger herunterladen und auf den Installer doppelklicken. Nach der Installation führt man im Terminal ersteinmal ein selfupdate durch, um zu schauen, ob alles geklappt hat.
sudo port -d selfupdate
Ist das gut verlaufen und die Darwin-Ports sind auf dem neusten Stand, kann man sich das OpenSSH-Paket installieren.
sudo port install openssh
Versucht man nun nach gelungener Installation den SSH-Daemon sshd zu starten
sudo /usr/sbin/sshd
erhält man folgende Fehlermeldungen:
Could not load host key: /etc/ssh_host_key Could not load host key: /etc/ssh_host_rsa_key Could not load host key: /etc/ssh_host_dsa_key Disabling protocol version 1. Could not load host key
Im Gegensatz zu einem Gnu/Linux wie Ubuntu werden die Keys also nicht automatisch bei der Installation oder beim ersten Start generiert. Das muss man entweder zu Fuß erledigen
sudo ssh-keygen -f /etc/ssh_host_key -t dsa -P "" sudo chmod 644 /etc/ssh_host_key.pub sudo chmod 600 /etc/ssh_host_key sudo ssh-keygen -f /etc/ssh_host_dsa_key -t dsa -P "" sudo chmod 644 /etc/ssh_host_dsa_key.pub sudo chmod 600 /etc/ssh_host_dsa_key sudo ssh-keygen -f /etc/ssh_host_rsa_key -t rsa -P "" sudo chmod 644 /etc/ssh_host_rsa_key.pub sudo chmod 600 /etc/ssh_host_rsa_key
oder man benutzt mein Skript SSHkeygen.
Wer mein Skript nicht benutzt hat, muss nach der Installation der Keys den OpenSSH-Daemon noch händisch im Terminal starten:
sudo /usr/sbin/sshd
Es gibt jetzt zwar immer noch eine Fehlermeldung wie „Disabling protocol version 1. Could not load host key“, trotzdem funktioniert es, wie ein kleiner Test vom Ubuntu-System aus beweist:
christian@Gobuchul:~$ ssh 192.168.1.34 Password: Last login: Tue Mar 6 20:58:18 2007 from 192.168.1.33 Welcome to Darwin! Balveda:~ christian$ uname -m Power Macintosh Balveda:~ christian$ exit logout Connection to 192.168.1.34 closed. christian@Gobuchul:~$
Geschrieben in MacOS X und iPhone