SSH-inloggning från macOS
Instruktioner för att logga in på GVS IT:s shell-servrar med SSH-klient på macOS.
Hur loggar du in?
För att logga in på studenternas shell-server, skapa inställningar i ~/.ssh/config
Host student-shell HostName student-shell.sys.kth.se User username PreferredAuthentications gssapi-with-mic GSSAPIAuthentication yes GSSAPIDelegateCredentials yes
Du kan även behöva ~/.ssh/known_hosts, en lista med host-nycklar. Nycklar för alla servrar finns här, Shell-servrar .
Logga sedan in med
kinit -f username@KTH.SE ssh student-shell
OBS: Alla exempel använder username och student-shell – använd ditt KTH-användarnamn (utan @kth.se) och den server du kan logga in på Shell-servrar .
Programvara
De kinit- och ssh-versioner som ingår i macOS fungerar i de flesta fall.
Den SSH-klient som följer med macOS hanterar inte GSSAPIKeyExchange, men man kan använda host-nycklar (known_hosts ovan) för att ansluta till alla GVS IT:s shell-servrar.
Du kan även använda en tredjeparts-version, OpenSSH med fullt GSSAPI-stöd kan installeras med antingen HomeBrew eller MacPorts. Se PDC:s dokumentation för detaljer. Detta behövs ej för att ansluta till de allmänna shell-servrarna, men om du installerat den versionen kan du använda GSSAPIKeyExchange på samma sätt som i Linux .
FAQ / Kända problem
Vid felsökning av problem, notera skillnaden mellan att köra t.ex. klist på din lokala dator, och att köra det på servern du loggat in på. Det första kontrollerar att klist har fått biljetter, det andra att ssh-klienten lyckats vidarebefordra biljetterna till servern.
Tredjeparts ssh-klient eller Kerberos (HomeBrew, MacPorts, etc.)
För att se vilken ssh-klient eller Kerberos-distribution du använder, använd kommandot which, dvs which ssh; which kinit; which klist.
- /usr/bin – macOS standard-katalog, default för inbyggda och medföljande applikationer.
- /usr/local/bin eller /opt/homebrew/bin – standard-katalog för HomeBrew (Intel/Rosetta 2 respektive Apple Silicon-binärer, se deras Homebrew dokumentation (extern sida) ).
- /opt/local/bin – standard-katalog för MacPorts (se deras Mac Ports dokumentation (extern sida) ).
Versionerna är i stort sett likvärdiga, men kan implementera olika funktioner eller ha olika kommandoradsväljare. T.ex. finns vissa skillnader mellan Heimdal Kerberos (inklusive macOS) och MIT Kerberos, men endera kan används för kerberiserad SSH.
Observera att tredjepartsprogramvara inte uppdateras av macOS. Du måste själv ställa in automatiska uppdateringar i pakethanteraren, eller uppgradera manuellt.
Trasig ticket-cache – KCM:501 eller KRB5CCNAME
Vissa Kerberos-klienter använder en KCM–demon istället för macOS standard API-ticketcache. Om klist visar
Ticket cache: KCM:501
istället för
Credentials cache: API:E336F6A4-34B6-7514-F687-06D434B494B5
använd kdestroy -c KCM:501; /usb/bin/kinit -f … för att radera den cache:n och hämta nya biljetter med standard-kinit.
Se även PDC:s dokumentation om du har gammal konfiguration som sätter miljövarabeln KRB5CCNAME.
MIT Kerberos har mer information om olika typer av ticket-cache.
Använd FQDN (fullständigt namn) om du har stängt av reverse DNS lookup
Om din lokala Kerberos-konfiguration (t.ex. /etc/krb5.conf ) använder rdns=false, ersätt i din konfiguration aliaset student-shell.sys.kth.se med serverns FQDN (fullständiga namn), student-shell-1.sys.kth.se, och motsvarande för de andra servrarna.