ssh(1)
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.