ssh(1)

Från Wiki.linux.se
Version från den 26 september 2025 kl. 06.25 av Admin (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

ssh(1)

NAMN

ssh – OpenSSH SSH-klient (fjärrinloggningsprogram)

SYNOPSIS

ssh [-1246AaCfgKkMNnqsTtVvXxYy]
    [-b bind_adress] [-c chiffer_spec]
    [-D [bind_adress:]port]
    [-e escape_tecken] [-F konfigfil] [-i nyckelfil]
    [-L [bind_adress:]port:värd:värdport]
    [-l inloggningsnamn] [-m mac_spec]
    [-O ctl_kommando] [-o option] [-p port]
    [-R [bind_adress:]port:värd:värdport]
    [-S ctl_sökväg] [-W värd:port]
    [-w lokal_tun[:remote_tun]]
    [användare@]värdnamn [kommando]

BESKRIVNING

ssh (SSH-klient) används för fjärrinloggning och för att köra kommandon på en fjärrmaskin. Den ersätter rlogin och rsh och tillhandahåller krypterad kommunikation över osäkra nät. Förutom interaktiva skal kan ssh vidarebefordra X11 och godtyckliga TCP-portar genom den krypterade kanalen. Om kommando anges körs det på fjärrsidan istället för ett inloggningsskal.

FLAGGOR

Flagga Beskrivning
-1 Tvinga användning av protokollversion 1 enbart.
-2 Tvinga användning av protokollversion 2 enbart (standard).
-4 Använd endast IPv4.
-6 Använd endast IPv6.
-A Aktivera vidarebefordran av autentiseringsagenten (ssh-agent).
-a Inaktivera vidarebefordran av autentiseringsagenten.
-b bind_adress Använd angiven lokal källadress.
-C Komprimera all data.
-c chiffer_spec Välj chiffer (v2: kommaseparerad lista; se Ciphers i ssh_config(5)).
-D [bind_adress:]port Lokal dynamisk portvidarebefordran (SOCKS4/5). Kan också sättas i konfigfil.
-e escape_tecken Escape-tecken för pty-sessioner (standard ~; none stänger av).
-F konfigfil Alternativ användarkonfiguration; ignorerar systemets /etc/ssh/ssh_config.
-f Gå till bakgrunden före kommandokörning (implicerar -n); väntar på forwards om ExitOnForwardFailure yes.
-g Tillåt fjärrvärdar att ansluta till lokala vidarebefordrade portar.
-I smartcard_enhet Smartkortenhet för privat RSA-nyckel (om kompilerat med stöd).
-i nyckelfil Privat nyckel (kan anges flera gånger).
-K Aktivera GSSAPI-autentisering samt vidarebefordran av GSSAPI-uppgifter.
-k Inaktivera vidarebefordran av GSSAPI-uppgifter.
-L [bind_adress:]port:värd:värdport Lokal portvidarebefordran till värd:värdport på fjärrsidan (IPv6 stöds; localhost binder lokalt).
-l inloggningsnamn Användarnamn på fjärrmaskinen.
-M Sätt klienten i master-läge för anslutningsdelning (ControlMaster).
-m mac_spec (v2) Kommaseparerad lista över MAC-algoritmer (se MACs).
-N Kör inget fjärrkommando (endast portvidarebefordran).
-n Läs inte från stdin (redirigerar från /dev/null); krävs i bakgrunden.
-O ctl_kommando Styr aktiv multiplex-master: check (körs?) eller exit (avsluta).
-o option Ange alternativ som i konfigfil (t.ex. -o StrictHostKeyChecking=yes).
-p port Fjärrport att ansluta till (kan sättas per värd i konfigfil).
-q Tyst läge – undertryck varningar/diagnostik.
-R [bind_adress:]port:värd:värdport Fjärr portvidarebefordran till lokal sida; GatewayPorts kan krävas på servern.
-S ctl_sökväg Sökväg till kontrollsocket (anslutningsdelning).
-s Begär körning av ett subsystem (SSH2), t.ex. sftp.
-T Inaktivera tilldelning av pseudo-tty.
-t Tvinga tilldelning av pseudo-tty (kan upprepas).
-V Visa versionsnummer och avsluta.
-v Pratsamt (verbose) läge. Flera -v ökar nivån (max 3).
-W värd:port Vidarebefordra klientens stdin/stdout till värd:port över kanalen (implicerar bl.a. -N -T; endast v2).
-w lokal_tun[:remote_tun] Vidarebefordra tun(4)-enheter (VPN). Se Tunnel/TunnelDevice.
-X Aktivera X11-vidarebefordran.
-x Inaktivera X11-vidarebefordran.
-Y Aktivera betrodd X11-vidarebefordran (mindre restriktioner).
-y Skicka loggar via syslog(3) istället för stderr.

DETALJERAD ANVÄNDNING

Ciphers och MACs

För protokoll 2 är -c (chiffer) och -m (MAC) kommaseparerade listor i preferensordning; styrs också i ssh_config(5) via Ciphers och MACs.

Dynamisk portvidarebefordran (-D)

Skapar en lokal SOCKS-proxy på angiven port. IPv6-adresser kan skrivas som [addr]:port eller addr/port. Bindningspolicy påverkas av GatewayPorts; localhost binder endast lokalt, * alla gränssnitt.

Lokal (-L) och fjärr (-R) vidarebefordran

Allokerar lyssningssocket och vidarebefordrar över SSH-kanalen. Privilegierade portar kräver root. För -R binds serverns socket normalt till loopback om inte annat anges; GatewayPorts på servern kan krävas för icke-lokala bindningar. Port 0 kan begäras för dynamisk allokering på servern.

Multiplexning och delning

-M startar master; -S anger control-socket; -O check|exit styr master. Se ControlMaster och ControlPath i ssh_config(5).

Bakgrundskörning

-f skickar klienten till bakgrunden (implicerar -n). Med ExitOnForwardFailure yes väntar klienten tills alla portforwards är uppe.

AUTENTISERING

OpenSSH stöder protokoll 1 och 2 (2 är standard; kan tvingas med -1/-2). Protokoll 2 rekommenderas (starkare konfidentialitet/integritet). Stödda metoder inkluderar GSSAPI, värdbaserad, publik nyckel, utmaning/svar och lösenord. Ordningen kan påverkas via PreferredAuthentications.

Värdbaserad autentisering

Kräver matchning mellan klientvärd och användare via /etc/hosts.equiv, /etc/ssh/shosts.equiv eller användarens ~/.rhosts/~/.shosts, samt att servern kan verifiera klientens värdnyckel (/etc/ssh/ssh_known_hosts, ~/.ssh/known_hosts). Rlogin/rsh-varianten är osäker och bör undvikas.

Publik nyckel

Nyckelpar skapas med ssh-keygen(1). Privata nycklar i ~/.ssh/id_rsa, id_dsa etc.; publika i *.pub. Auktoriserade nycklar listas i ~/.ssh/authorized_keys. ssh-agent(1) kan hålla nycklar i minnet.

Lösenord och utmaning/svar

Om andra metoder misslyckas frågar ssh efter lösenord (transporteras krypterat). Utmaning/svar kan använda BSD Authentication eller PAM.

ESCAPE-TECKEN

När pty är allokerad känns escape-tecken (standard ~) igen i början av en rad:

~.   Koppla ner
~^Z  Bakgrundsspåra ssh
~#   Lista vidarebefordrade anslutningar
~&   Bakgrund vid utloggning (väntar på forwards/X11)
~?   Visa hjälplista
~B   Skicka BREAK (v2, om peer stöder)
~C   Öppna kommandoläge: lägg till -L/-R/-D eller ta bort -KR[bind_adress:]port
~R   Begär nyckelomförhandling (rekey) (v2, om peer stöder)

Escape-tecknet kan ändras via -e eller EscapeChar i ssh_config(5); none stänger av.

TCP-VIDAREBEFORDRAN

Godtyckliga TCP-anslutningar kan tunnlas. Exempel (IRC):

$ ssh -f -L 1234:localhost:6667 server.example.com sleep 10
$ irc -c '#users' -p 1234 pinky 127.0.0.1

X11-VIDAREBEFORDRAN

Med -X (eller ForwardX11 yes) sätts DISPLAY till en proxydisplay och Xauthority hanteras automatiskt. -Y/ForwardX11Trusted yes aktiverar betrodd X11 (mindre restriktioner, använd försiktigt).

VERIFIERING AV VÄRDSNYCKLAR

Vid första anslutning visas serverns fingeravtryck (om StrictHostKeyChecking inte avaktiverats).

$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
$ ssh-keygen -lv -f ~/.ssh/known_hosts   # med "random art"

Fingeravtryck kan verifieras via DNS (SSHFP) med VerifyHostKeyDNS; kontrollera med t.ex. dig -t SSHFP.

SSH-BASERADE VPN:er

ssh kan skapa VPN-tunnlar med tun(4) om PermitTunnel tillåter det i sshd_config(5). Exempel som kopplar 10.0.50.0/24 ↔ 10.0.99.0/24:

# Klient
ssh -f -w 0:1 192.168.1.15 true
ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
route add 10.0.99.0/24 10.1.1.2

# Server
ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
route add 10.0.50.0/24 10.1.1.1

För permanenta VPN-lösningar är IPsec/liknande ofta bättre.

MILJÖVARIABLER

ssh sätter typiskt:

DISPLAY
Pekar på proxydisplay värd:n för X11-forwarding.
HOME, USER, LOGNAME, MAIL, PATH
Grundläggande miljö.
SSH_ASKPASS
GUI-inmatning av lösenfras om ingen tty finns.
SSH_AUTH_SOCK
Sökväg till agentens UNIX-socket.
SSH_CONNECTION
cli_ip cli_port srv_ip srv_port.
SSH_ORIGINAL_COMMAND
Ursprunglig kommandorad vid tvingat kommando.
SSH_TTY
Namn på tty för sessionen (om någon).
TZ
Tidszon (ärvd).

Dessutom läses ~/.ssh/environment om PermitUserEnvironment tillåter.

Särskilt

SSH_USE_STRONG_RNG
Om satt ≠ 0 reseedas RNG från /dev/random (minst 6 byte). Kan blockera på system med låg entropi.

FILER

~/.rhosts / ~/.shosts
För värdbaserad autentisering (osäkert; använd med försiktighet).
~/.ssh/
Katalog för användarspecifik SSH-data.
~/.ssh/authorized_keys
Publika nycklar som får logga in.
~/.ssh/config
Användarkonfiguration (se ssh_config(5)). Strikta rättigheter krävs.
~/.ssh/identity, id_dsa, id_rsa
Privata nycklar (måste vara skyddade).
~/.ssh/*.pub
Publika nycklar.
~/.ssh/known_hosts
Användarens kända värdnycklar.
~/.ssh/rc
Körs av ssh innan skalet startas.
/etc/hosts.equiv / /etc/ssh/shosts.equiv
Systemomfattande motsvarigheter.
/etc/ssh/ssh_config
Systemkonfig för klienten.
/etc/ssh/ssh_host_key, ssh_host_dsa_key, ssh_host_rsa_key
Värdnycklar (privata delar).
/etc/ssh/ssh_known_hosts
Systemlista över kända värdar.
/etc/ssh/sshrc
Körs av ssh vid inloggning.

IPV6

IPv6-adresser kan användas överallt. Omslut med hakparenteser i URI-liknande sammanhang: [2001:db8::1]. Observera att hakparenteser är metatecken i många skal och kan behöva escapas.

SE ÄVEN

scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1), tun(4), hosts.equiv(5), ssh_config(5), ssh-keysign(8), sshd(8). Standarder och referenser: RFC 4250–4256, RFC 4335, RFC 4344, RFC 4345, RFC 4419, RFC 4716; A. Perrig & D. Song, ”Hash Visualization…”, 1999.

FÖRFATTARE

OpenSSH härstammar från Tatu Ylönens fria ssh 1.2.12. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt och Dug Song fixade många buggar, lade till nyare funktioner och skapade OpenSSH. Markus Friedl bidrog med stöd för protokoll 1.5 och 2.0.

REFERENSERAS AV

autossh(1), bvnc(1), byobu-launcher-install(1), byobu-launcher-uninstall(1), cdrecord(1), ckeygen(1), clogin(1), cloginrc(5), conch(1), cpdup(1), darcs(1), distcc(1), distccd(1), dsync(1), fetchmail(1), forward(1), gsh(1), gsissh-keygen(1), gsissh-keysign(8), gsissh_config(5), gsisshd(8), gsisshd_config(5), hb_report(8), isoinfo(1), isoinfo(8), kup(1), ldm(1), lsyncd(1), mirrordir(1), mkxauth(1), mussh(1), muttrc(5), nc(1), openvpn(8), pdcp(1), pdsh(1), pssh(1), pty(7), qodem(1), rancid.conf(5), rdiff-backup(1), rdist(1), readcd(1), readom(1), recon(1), router.db(5), rsnapshot(1), rssh(1), rssh.conf(5), safekeep(1), scponly(8), sftp-server(8), shmux(1), ssh-copy-id(1), sshfp(1), sshuttle(8), sss_ssh_knownhostsproxy(1), star(1), sudoers(5), tentakel(1), tkconch(1), tmux(1), wodim(1), x11vnc(1), xlock(1), zfs(8), ztelnet(1)


Sidslut

Orginalhemsidan på Engelska :https://linux.die.net/man/1/ssh Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.