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.
- Opprett controlmaster mappe
mkdir ~/.ssh/controlmasters
- 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/*
- 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. - 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? kontormaskinenssh-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
Skriv inn hostnavn for maskinen du ?nsker ? logge inn p?, og oppgi port 22.
2. Proxy innstillinger
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.
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.
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-hjelp@uio.no.
G? til e-postBook 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