Passordløs SSH-oppkobling
Det finnes mange grunner til å gjøre passordløse oppkoblinger mot ssh-tjenere. Skripting, klyngeregning og sikkerhet er eksempler. Det antas i denne sammenheng at ssh-tjenesten kjører under Linux, men dette er også mulig mot andre OS. Klientsiden kan være både Linux og Windows og vi vil her gi noen eksempler på slik bruk.
På UiB finnes det to metoder for passordløs oppkobling mot ssh-tjenere; Kerberos og SSH-nøkler. Vi vil forklare dem hver for seg.
SSH med Kerberosautentisering
Alle UiBs Linuxklienter er satt opp til å fungere med kerberosautentisering, men dette krever også innstillinger på klientsiden som ikke alltid kan tilfredsstilles. Av denne grunn vil dette kun fungere fra Linux eller fra selvdriftet maskin, det vil også kun fungere når klienten står på UiBs 129.177/16-nett. Man kan også endre oppsettet på serversiden per bruker (i filen $HOME/.ssh/config), men de globale reglene er definert i /etc/ssh/sshd_config og /etc/ssh/ssh_config. Her er et utdrag fra disse
Utdrag fra /etc/ssh/sshd_config
# Kerberos options KerberosAuthentication yes #KerberosOrLocalPasswd yes KerberosTicketCleanup yes #KerberosGetAFSToken no # GSSAPI options GSSAPIAuthentication yes GSSAPICleanupCredentials yes
Utdrag fra /etc/ssh/ssh_config
# Rekkefolgen er vesentlig # First FQDNs at UiB Host 129.177.* *.uib.no GSSAPIAuthentication yes GSSAPIDelegateCredentials yes GSSAPIKeyExchange yes GSSAPITrustDNS yes SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS ForwardX11Trusted yes # Then FQDNs not at UiB Host *.* GSSAPIAuthentication yes # If this option is set to yes then remote X11 clients will have full access # to the original X11 display. As virtually no X11 client supports the untrusted # mode correctly we set this to yes. ForwardX11Trusted yes # Send locale-related environment variables SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS # And at last short names (non-FQDNs) Host * GSSAPIAuthentication yes GSSAPIDelegateCredentials yes GSSAPIKeyExchange yes GSSAPITrustDNS yes SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS ForwardX11Trusted yes
Mer info
Man kan lese mer om disse filene i deres manualsider: man ssh_config og man sshd_config. Man overstyrer /etc/ssh_config i $HOME/.ssh/config ved at rekkefølgen er relevant og brukerens fil leses først.
Krav
For at kerberosautentisering skal virke må man:
- Ha støtte for dette på server og klient skrudd på
- Ha en gyldig kerberosticket
- Være på UiBs 129.177/16-nett.
Skru av
For å skru av kerberosautentisering for alle eller enkelte maskiner legg dette i din $HOME/.ssh/config
Host * #Host maskin1 maskin2 GSSAPIAuthentication no
SSH med nøkkelautentisering
tba