Gebruik Ssh onder Unix ====================== Deze handleiding beschrijft wat je moet doen om ssh te gebruiken om van de ene computer in te loggen op een andere. Verondersteld wordt dat de Korn shell onder AIX gebruikt word. Bash, csh, andere shells of andere platformen kunnen een andere syntax gebruiken. De gebruikte commando's staan ook in het shell script ../bin/InstallSshKeys.sh. 1. Check of ssh is geinstalleerd, type type ssh op de command line. Normaal is het antwoord: "ssh is /usr/bin/ssh". 2. Maak, als deze nog niet bestaat, de directory .ssh aan: mkdir ${HOME}/.ssh 3. Indien je nog geen public/private ssh keys hebt, genereer ze met: ssh-keygen -t rsa1 -f ${HOME}/.ssh/identity ssh-keygen -t rsa -f ${HOME}/.ssh/id_rsa ssh-keygen -t dsa -f ${HOME}/.ssh/id_dsa Er ontstaat bij elke file die genoemd achter de -f vlag de genoemde file en een variant met de extensie .pub. De eerste is een private key, de tweede is een public key. Public keys distributeer je naar andere computers waar je op in wilt loggen met ssh. Er worden drie keys gegenereerd (rsa1 is de oude ssh versie 1 key, rsa en dsa zijn ssh versie 2). Bij het genereren van de keys kun je wel of niet een key-phrase gebruiken. Geen key-phrase betekent dat iedereen die over de private key beschikt kan inloggen op een systeem waar de public key staat zonder password. 4. Geef de files in directory ${HOME}/.ssh de juiste rechten: chmod -R 700 ${HOME}/.ssh 5. Copieer je public keys naar de remote computer: scp ${HOME}/.ssh/identity.pub ${HOME}/.ssh/id_dsa.pub ${HOME}/.ssh/id_rsa.pub : waarbij staat voor de naam van de computer waarnaar je met ssh wilt connecten. 6. Login op de remote computer met ssh: ssh 7. Voeg nu de public keys toe aan de files onder de .ssh directory: mkdir ${HOME}/.ssh 2>/dev/null cd ${HOME}/.ssh touch authorized_keys authorized_keys2 ID=$( awk '{print $4}' ${HOME}/identity.pub ) grep -v "${ID}$" authorized_keys > tempFile cat ${HOME}/identity.pub tempFile > authorized_keys sed -e "/^ssh-dss [^ ]* ${ID}$/d; /^ssh-rsa [^ ]* ${ID}$/d" authorized_keys2 > tempFile cat ${HOME}/id_dsa.pub ${HOME}/id_rsa.pub tempFile > authorized_keys2 rm -f tempFile ${HOME}/identity.pub ${HOME}/id_dsa.pub ${HOME}/id_rsa.pub cd ${HOME} chmod -R 700 ${HOME}/.ssh 8. Logout met exit en probeer opnieuw in te loggen met ssh TODO: Gebruik met X, doorgeven van DISPLAY of andere variabelen, opstarten remote xterm windows, ssh-agent met ssh-add, VNC, etc. 'XAUTH_DISPLAY="${DISPLAY#*:}"' 'XAUTH_DISPLAY="${HOSTNAME:-$( uname -n )}/unix:${XAUTH_DISPLAY%.*}"' 'export XAUTH_DISPLAY_LIST=$( xauth list ${XAUTH_DISPLAY} )' 'alias _remoteUser="rsh remoteComputer -l remoteUser 'export PARENT_USER='${USER}' DISPLAY='${DISPLAY}' REALDISPLAY='${REALDISPLAY}'; xauth add ${XAUTH_DISPLAY_LIST}; nohup /usr/bin/X11/xterm -T remoteUser@remoteComputer -n _remoteUser@remoteComputer -v -fn 6x13 -sb -ls -geometry 132x24 0/dev/null 2>&1 &'"' 'alias ssh-adds='ssh-add -l 1>/dev/null 2>&1 || ssh-add ${HOME}/.ssh/identity ${HOME}/.ssh/id_rsa ${HOME}/.ssh/id_dsa'' 'for i in do alias _${i}="ssh-adds; nohup 'ssh' -f ${i} '${REALDISPLAY:+export REALDISPLAY=${REALDISPLAY}; }/usr/bin/X11/xterm -v -fn 6x13 -sb -ls -geometry 132x24' 1>/dev/null 2>&1" done'