Till innehåll på sidan

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.

Innehållsansvarig:it-support@kth.se
Tillhör: KTH Intranät
Senast ändrad: 2022-03-02