English version of this page

Oppsett av SSH med Linux, macOS eller Windows

Konfigurasjon av OpenSSH-klient 

macOS og Linux benytter OpenSSH som standard SSH-klient og -server. P? oppdaterte Windows 10-maskiner med OpenSSH-klienten installert kan du bruke det samme oppsettet. Dette kan konfigureres p? flere m?ter:

  • Via standard oppsett fra leverand?r, felles for alle brukere. Settes normalt i /etc/ssh/ssh_config og/eller i /etc/ssh/ssh_config.d/*
  • Via kommandolinjeopsjoner til ssh, f.eks. ssh -o Compression=yes
  • Oppsett for en bruker ved ? endre ~/.ssh/config 

En .ssh/config-fil kan inneholde oppsett som gjelder alle maskiner du vil kontakte. Du kan ogs? lage konfigurasjon som er spesifikk for enkeltmaskiner eller grupper av maskiner.

Oppsett som skal gjelde alle maskiner b?r settes nederst nederst i fila. SSH benytter f?rste oppsett som treffer. Hvis du setter globale settinger nederst, kan du overstyre en eller flere av dem med innslag lenger opp.

Eksempel konfigurasjon

Host testmaskin 
        Hostname test.ett-domene.com
        User test

Host *.hjemme.com
        User hjemmebruker
        ForwardX11 yes

Host uioproxy
        User uiobruker
        Hostname login.uio.no
        DynamicForward 9000

Host *.uio.no !login.uio.no
        ProxyJump brukernavn@login.uio.no

Host *
        ControlMaster auto
        ControlPath /tmp/%r@%h:%p
        Compression yes
        ForwardX11 no
        

 

Logg inn p? testmaskin

Her kan du logge inn p? test.ett-domene.com, med brukeren test med kommandoen under:

[user@host ~]$ ssh testmaskin

Du kan ogs? kj?re ssh test@test.ett-domene.com.

Logg inn p? hjemmemaskin

Logg inn p? hvilken som helst maskin som treffer *.hjemme.com:

[user@host ~]$ ssh maskin.hjemme.com

Her logger du inn p? maskin.hjemme.com, med brukeren hjemmebruker. Det blir det samme som ? kj?re ssh -X hjemmebruker@maskin.hjemme.com med X11-forwarding skrudd p?. 

Logg inn p? login.uio.no

[user@host ~]$ ssh uioproxy

Her vil du logge p? maskin login.uio.no med brukeren uiobruker. Du skrur da p? DynamicForward p? lokal port 9000. Ved ? sette opp 127.0.0.1:9000 i din browser som SOCKS-proxy vil all trafikk fra browseren g? via login.uio.no og opptre som om den er p? innsiden av UiO-nettet.

Logg inn p? kontorlinux.uio.no

[user@host ~]$ ssh kontorlinux.uio.no

Her vil du logge p? maskin kontorlinux.uio.no med brukeren user, men denne p?loggingen vil g? via. login.uio.no med brukeren brukernavn.

Dette er mest nyttig for b?rbare macOS- eller Linux-maskiner. Normalt sett vil de fleste ogs? ha samme brukernavn p? ProxyJump-maskin, som p? sin lokale klient.

ControlMaster

Host *
        ControlMaster auto
        ControlPath /tmp/%r@%h:%p
        Compression yes
        ControlPersist 10m
        ForwardX11 no

Kommandoen gjelder alle forbindelser, som da settes opp med ControlMaster. Ved f?rstegangsinnlogging til en maskin, s? vil den f?rste innloggingen v?re Master. I dette tilfellet opprettes en socket i /tmp med navn bruker@remote.host:port.

N?r du logger inn en ny sesjon til samme maskin, eller kopierer en fil i et annet vindu, vil du ikke bli avkrevd ny innlogging. Det lages en ny kanal i samme sesjon, noe som sparer deg for mange innlogginger. N?r den f?rste sesjonen stenger m? du logge inn p? nytt.

Compression yes setter p? komprimering for hele sesjonen.

ControlPersists 10m gj?r at ControlMaster sessjonen holdes oppe 10 minutter etter siste utlogging. Dvs. at om en kommer i skade for ? stenge den sessjonen som var innloggingssessjonen, s? kan en ila. 10 minutter logge inn igjen uten ? m?tte oppgi passord og evt. to-faktor kode p? nytt.

ForwardX11 er en annen opsjon som vil treffe alle bortsett fra uioproxy, som setter denne til en annen verdi.

Konfigurasjon av enkeltp?logging ved hjemmekontor

Per dags dato kreves det tofaktorautentisering for ? logge inn p? login.uio.no. Denne seksjonen viser et eksempeloppsett p? hvordan gj?re innlogginsopplevelsen fra hjemmekontoret enda bedre. M?let er

  • Tillate korte avbrud i sessjonen
  • Autentisering med tofaktor og offentlig n?kkel

Alle stegene under utf?res p? hjemmemaskinen, og som i resten av seksjonen forutsetter dette enten en maskin hjemme med enten linux eller mac som operativsystem.

  1. Opprett controlmaster mappe
    mkdir ~/.ssh/controlmasters
    
  2. Oppretter ny ssh-n?kkel
    ssh-keygen -o -a 256 -t ed25519 \
        -C "$(hostname)-$(date +'%d-%m-%Y')" \
        -f ~/.ssh/"$(hostname -s)_ed25519" \
        -q 
    
    Dette opprette en n?kkel med ditt vertsnavn (hostname) som navn p? filen. Vertsnavnet her er alts? hva du har kalt maskinen din hjemme.

    Sjekk at rettighetene er riktig p? ~/.ssh og ~/.ssh/*
     
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/*
            
  3. Vi kan s? oppdatere ~/.ssh/config til ? bruke n?kkelen vi akkuratt har opprettet
    Host login
        Hostname login.uio.no
        User brukernavn
        IdentityFile ~/.ssh/vertsnavn_ed25519
        IdentitiesOnly yes
    
    Host kontor
        Hostname vertsnavn.uio.no
        User brukernavn
        Proxyjump login 
        IdentityFile ~/.ssh/vertsnavn_ed25519
        IdentitiesOnly yes
    
    Host *
        ControlMaster auto
        ControlPath ~/.ssh/controlmasters/%r@%h:%p
        Compression yes
        ControlPersist 10m
        ForwardX11 no
    
    Husk ? endre brukernavn til ditt faktiske brukernavn! Samme med vertsnavn. Lagre filen og test at ssh kontor fungerer fint. Merk at vi enda m? skrive b?de passord og brukernavn for ? logge inn hjemmefra.
  4. Vi er n? klare til ? legge inn den offentlige n?kkelen din p? springbrettmaskinen (login)
    ssh-copy-id -i ~/.ssh/vertsnavn_ed25519 login
    
    og p? kontormaskinen
    ssh-copy-id -i ~/.ssh/vertsnavn_ed25519 kontor
    Test at du n? kan logge inn med ssh kontor.

SSH og tmux

Noen brukere er glad i ? bruke tmux p? kontoret, og da kan det v?re greit ? slippe ? m?tte logge inn p? tmux hver gang man logger inn. Da kan man legge til

shmux () {
    tmux_target_session="${1:-0}"
    host_target="${2:-kontor}"
    ssh -t "${host_target}" "tmux new-session -A -s \"${tmux_target_session}\""
}

I skallet sitt, f.eks ~/.bashrc, ~/.zshrc avhengig av hva man bruker. Etter man har ?pnet ett nytt vindu, eller sourcet filen (source ~/.bashrc) gir kommandoen deg muligheten til ? logge rett inn via enten

shmux

Eller s? kan man oppgi en tmux-session

shmux prosjektnavn

Eller tmux-session og et vertsnavn.

shmux prosjektnavn vertsnavn

Oppsett p? Windows

V?r n?ye med ? finne rett mappe og s?rg for at konfigurasjonsfilene lagres uten filending.

Rett sted for den innbygde ssh klienten er: C:\Users\<brukernavn>\.ssh\config

Oppsett av PuTTY

Mange benytter PuTTY som SSH-klient p? Windows. I Putty kan man skru p? de fleste opsjoner som er nevnt over, men oppsettet lagres i sesjoner. Alle settinger gj?res pr. host.

Innlogging til maskiner p? UiO utenfra m? skje via login.uio.no, rlogin.uio.no eller en annen jumphost med multifaktor satt opp.  PuTTY st?tter dette fra og med versjon 0.77 (stable).

1. Lag en ny session i PuTTY

lag en ny putty sesjon

Skriv inn hostnavn for maskinen du ?nsker ? logge inn p?, og oppgi port 22.

2. Proxy innstillinger

Velg riktig remote kommando

Under Proxy-opsjonen velg proxy-type SSH, skriv inn navn p? jumphost, og port nr (22). PuTTY vil etter f?rste hopp (login.uio.no) fors?ke ? logge p? kontormaskin.uio.no.

3. Lagre oppsettet

G? tilbake til Session og lagre oppsettet.

Lagre Putty sesjon

Ved p?logging s? vil du f?rst bli spurt om brukernavn og passord til f?rste hopp, det vil si uio-brukernavn og passord p? login.uio.no, og s? om brukernavn og passord til neste hopp som er kontormaskin.uio.no.

S?k i veiledningene
Kontakt brukerst?tte:

Ring oss

Vi har ?pent mellom 08:30 og 17:00 p? hverdager,
og mellom 10:00 og 15:00 p? l?rdager.

Telefonnummer: 22 84 00 04

Send inn sak til oss

Du kan sende inn din foresp?rsel via e-post til: it-support@uio.no.

G? til e-post

Book et videom?te over Zoom

Er du student eller ansatt kan du avtale veiledningstime hos UiO Helpdesk over Zoom. Tilgjengelige tider er tirsdag til torsdag mellom 11:00 og 13:00.

Book et videom?te

Chat med oss

V?r chat er bemannet mellom 09:00 og 16:00 p? hverdager.

?pne chat
Publisert 13. aug. 2021 14:08 - Sist endret 4. juni 2024 21:16