Překlad(y): Němčina – English – Français – Italiano – Español – Português Brasileiro
ToDo: merge (a přeložit) tato stránka a francouzský (úplnější)
- Úvod
- instalace
- instalace klienta
- Instalace serveru
- Konfigurační soubory
- Regenerační klíče hostitele
- Vzdálené přihlášení
- S heslem
- použití sdílených klíčů
- Klíče řízení
- Pomocí GUI
- zabezpečení
- SSH Server
- osvědčené postupy se serverem SSH
- možnosti konfigurace
- externí nástroje
- SSH klient
- osvědčené postupy s SSH klientem
- Další Funkce
- Zobrazit soubory v GUI
- Další Příkazy
- scp
- sftp
- textovém režimu
- grafický režim
- clusterssh
- ssh-agent a ssh-add
- keychain
- ssh-askpass
- libpam-usb
- vzdálené příkazy
- SSH do Debianu z jiného operačního systému
- Dobré praktiky SSH použití
- řešení problémů
- neshoda verze OpenSSL. Postavený proti 1000105f, máte 10001060
- SSH visí
- rozlišení s IPQoS 0x00
- Usnesení s netcat
- Udržujte připojení SSH naživu
- Pro Debian 7.x server
- Viz také
Úvod
SSH znamená Secure Shell a je protokol pro bezpečné vzdálené přihlášení a další zabezpečené služby sítě přes nezabezpečenou sítě1. Viz Wikipedia-Secure Shell pro obecnější informace a ssh, LSH-client nebo dropbear pro implementace softwaru SSH, z nichž OpenSSH je nejoblíbenější a nejpoužívanější2. SSH nahrazuje nešifrované telnet, rlogin a rsh a přidává mnoho funkcí.
V tomto dokumentu budeme používat OpenSSH command suite, bude také předpokládat, že tyto dvě proměnné jsou definovány:
remote_host=<the remote computer>remote_user=<your user name on $remote_host>
Takže, pokud chcete použít recepty níže, první sadu těchto proměnných na název vzdáleného počítače a uživatelské jméno na vzdáleném počítači. Potom vyjmout a vložit níže uvedené příkazy by měly fungovat. remote_host může být také IP adresa.
instalace
instalace klienta
normálně je klient nainstalován ve výchozím nastavení. Pokud ne, stačí spustit jako root:
apt install openssh-client
Instalace serveru
server umožňuje vzdáleně připojit a dostane nainstalován, běží jako root:
apt install openssh-server
Konfigurační soubory
hlavní konfigurační soubory jsou v adresáři /etc/ssh :
-
ssh_config : klientský konfigurační soubor
-
sshd_config : konfigurační soubor serveru
navíc tento adresář obsahuje soukromý/veřejný klíč, dvojici identifikovat svého hostitele :
- ssh_host_dsa_key
- ssh_host_dsa_key.pub
- ssh_host_rsa_key
- ssh_host_rsa_key.pub
od OpenSSH 5.73 je k dispozici nový pár soukromých / veřejných klíčů:
- ssh_host_ecdsa_key
- ssh_host_ecdsa_key.pub
od OpenSSH 6.54 je k dispozici nový pár soukromých / veřejných klíčů:
- ssh_host_ed25519_key
- ssh_host_ed25519_key.hospoda
Regenerační klíče hostitele
rm /etc/ssh/ssh_host_*dpkg-reconfigure openssh-server
Vzdálené přihlášení
S heslem
Pokud se chcete přihlásit na $remote_host jako uživatel $remote_user jednoduše zadejte
ssh $remote_user@$remote_host
a potom zadejte své heslo.
Pokud uživatelská jména na místní a vzdálené počítače jsou identické, můžete přetáhnout $remote_user@-část a jednoduše napsat
ssh $remote_host
Pokud je to poprvé, co jste přihlášení ke vzdálenému počítači, ssh se zeptá, zda jste si jisti, že chcete připojit ke vzdálenému počítači. Odpověď “ Ano “ Po ověření otisku prstu vzdáleného počítače zadejte heslo a ssh vás připojí ke vzdálenému hostiteli.
použití sdílených klíčů
jednou z funkcí ssh je použití dvojice soukromých / veřejných klíčů pro připojení ke vzdálenému hostiteli. Také známý jako SSH klíče. Tato metoda vám umožňuje přihlásit se ke vzdálenému hostiteli bez zadání hesla pokaždé. Chcete-li to provést, musíte vygenerovat pár soukromých/veřejných klíčů na místním počítači a uložit veřejný klíč na vzdáleném hostiteli.
generovat klíč, použijte program ssh-keygen takto
ssh-keygen -t rsa
Tento program generuje pár veřejného a soukromého klíče v adresáři ~/.klíč. Program nejprve požádá o cílové soubory pro klíče, ve výchozím nastavení umístěné v ~/.klíč. Poté je požadováno přístupové heslo.
Poznámka: doporučujeme nenechávat heslo prázdné. Útočník, který se zmocní vašeho soukromého klíče, se jinak může připojit k hostitelům, kde jste uložili veřejný klíč, protože přístupové heslo je prázdné. Vyberte dlouhé a složité přístupové heslo.
váš soukromý klíč je id_rsa (nedávejte jej někomu jinému), váš veřejný klíč je id_rsa.hospoda.
zkopírování veřejného klíče do vzdáleného hostitele pomocí příkazu ssh-copy-id
ssh-copy-id -i ~/.ssh/id_rsa.pub $remote_user@$remote_host
Nyní můžete jednoduše připojit ke vzdálené hostitele a passphase je žádal. Po dokončení se připojíte ke vzdálenému hostiteli. V případě nového připojení nebude přístupové heslo znovu požadováno během celé relace.
Klíče řízení
Pomocí GUI
Volitelně, koník je GNOME aplikace, která snadno spravovat šifrovací klíče a hesla přes intuitivní Grafické Uživatelské Rozhraní (GUI). Mořský koník je schopen provádět různé operace. Například vytvořte klíče SSH nebo PGP, nakonfigurujte je a ukládejte do mezipaměti. Nabízet.
zabezpečení
SSH Server
ve výchozím nastavení je SSH server relativně bezpečný. S pomocí některých osvědčených postupů, možností konfigurace a externích nástrojů je možné ještě ztížit „roboty“ a sušenky
osvědčené postupy se serverem SSH
-
použijte aktualizace zabezpečení openssh-server co nejdříve. Což umožňuje ochranu před známými bezpečnostními otvory.
-
aktivujte ověřování klíčů SSH pouze pomocí hesel / přístupových frází. Deaktivujte pouze ověření heslem.
-
Zvažte použití fail2ban, který je soubor protokolu sledovat to automaticky zabanuje IP adresu po nastaveném počtu neúspěšných pokusů o přihlášení. Který automaticky chrání před útoky hrubou silou.
-
více osvědčených postupů pro používání ssh na https://lackof.org/taggart/hacking/ssh/
možnosti konfigurace
Jeden by měl upravit soubor /etc/ssh/sshd_config změnit parametry a pak restartovat ssh server s
service ssh restart
-
Deaktivovat pomocí hesla pro autentizaci (password authentication).
-
deaktivujte pomocí kořenového účtu (PermitRootLogin no).
-
Pouze povolit přihlášení od určitých uživatelů nebo skupin (Uživatelů a AllowGroups)
volby AllowUsers a AllowGroups nezlepší bezpečnost SSH server. V některých případech však jejich použití umožňuje odolávat útoku hrubou silou o něco déle.
externí nástroje
-
fail2ban: umožňuje automaticky zakázat IP adresy, které se pokoušejí hrubou silou SSH serveru pomocí iptables.
-
denyhosts : jako fail2ban, denyhosts umožňuje blokovat IP adresy se snaží hrubou silou připojení k ssh. Ale na rozdíl od fail2ban nepoužívá iptables, ale soubor / etc / hosts.odepřít.
SSH klient
osvědčené postupy s SSH klientem
-
použijte aktualizace zabezpečení OpenSSH-client co nejdříve. Což umožňuje ochranu před známými bezpečnostními otvory.
-
použijte ověřování klíčů SSH. Spíše než ověřování heslem.
-
přidejte silná hesla / hesla ke svým SSH klíčům. Tím se snižuje riziko útoků hrubou silou.
Další Funkce
Zobrazit soubory v GUI
Ve správci souborů, jako je Konqueror, Dolphin, Krusader a Midnight Commander můžete použít RYBY pro prohlížení souborů v GUI pomocí:
fish://username@server_name_or_ip
Další Příkazy
scp
scp je nástroj příkazového řádku, který umožňuje přenos souborů mezi dvěma stroje.
- odeslání souboru:
scp $source_file $remote_user@$remote_host:$destination_file
- Kopírování souboru do místního počítače:
scp $remote_user@$remote_host:$source_file $destination_file
sftp
textovém režimu
grafický režim
clusterssh
ssh-agent a ssh-add
ssh-agent je užitečné utility pro správu soukromých klíčů a jejich přístupová hesla. Většina desktopových prostředí v Debianu již bude nastavena tak, aby spouštěla ssh-agent (prostřednictvím uživatelských služeb systemd nebo /etc/X11/Xsession), takže jej nemusíte spouštět ručně.
# Check if ssh-agent is runningenv | grep -i ssh
stále budete muset říct agentovi, aby spravoval vaše klíče.
# List keys managed by the agentssh-add -l# Add your ssh keyssh-add ~/.ssh/your_private_key
když je nejprve potřeba soukromý klíč, zobrazí se výzva k zadání přístupového hesla. ssh-agent si pak zapamatuje klíč, aby se vaše přístupové heslo již nezeptalo.
keychain
Keychain, poskytovaný balíčkem keychain, je shell skript umožňující použití agenta ssh ve více relacích stejného počítače. Ve skutečnosti po prvním spuštění ssh-agent vytvoří trvalý socket umožňující komunikaci s ssh. Na tento soket se odkazuje pouze v prostředí relace, ve které byl agent spuštěn. Keychain umožňuje detekovat agenta a šířit přístup k tomuto agentovi do jiných relací; to umožňuje použít jednu instanci ssh-agenta na uživatele na počítači.
ssh-askpass
ssh-askpass je nástroj pro jednoduchou otázku hesla soukromého klíče při jeho použití. Několik implementací existují:
-
x11-ssh-askpass : verze pro X11
-
kaskpass : integrace ssh-askpass do KDE prostředí
-
ssh-askpass-gnome : integrace ssh-askpass do Gnome prostředí
libpam-usb
libpam-usb je nástroj (k dispozici pouze pro Debian Jessie), což umožňuje ověřování s USB stick. Tento balíček obsahuje užitečné utilty: pamusb-agent. Tento nástroj, jakmile je správně nakonfigurován, umožňuje načíst klíče SSH přítomné na USB flash disku po připojení a uvolnit je, když je odpojen.
vzdálené příkazy
pokud chcete spustit pouze jeden příkaz na vzdáleném počítači, nemusíte se přihlašovat. Můžete říct ssh spustit příkaz bez přihlášení, například,
ssh $remote_user@$remote_host 'ls *.txt'
vypíše všechny soubory s příponou .txt na vzdáleném počítači. To funguje s jedním klíště uvozovek ‚…’jak je znázorněno zde, s dvojitými uvozovkami“…“a bez uvozovek. Mezi těmito třemi případy však mohou být rozdíly, které zde ještě nejsou zdokumentovány.
SSH do Debianu z jiného operačního systému
-
PuTTY je aplikace emulátoru terminálu, která může fungovat jako klient pro ssh. Je široce používán uživateli Windows.
-
Wikipedie má Comparison_of_SSH_clients
Dobré praktiky SSH použití
musíte přečíst tento: https://lackof.org/taggart/hacking/ssh/
Tento dokument shrnuje mnoho dobrých postupů, které pravidelně SSH uživatelé by měli dodržovat, aby nedošlo k ohrožení bezpečnosti jejich účtů (a celý stroj ve stejnou dobu).
nakonfigurujte ~/.ssh / config pro odeslání pouze správného klíče.
Host master.debian.org User account IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
řešení problémů
neshoda verze OpenSSL. Postavený proti 1000105f, máte 10001060
pokud se při spuštění démona ssh zobrazí chybová zpráva, musíte spustit:
apt install openssh-server openssh-client
Viz také chyba #732940.
SSH visí
problém
pokoušíte se SSH do vzdáleného počítače. Ale během SSH log-in relace visí / zamrzne na neurčito. Takže vám nebude nabídnut příkazový řádek. A nejste schopni použít žádné příkazy ssh při použití režimu ladění SSH relace visí na tomto řádku debug2: kanál 0: otevřete potvrdit rwindow 0 rmax 32768
možná příčina
s některými směrovači za NAT a při použití OpenSSH. Během nastavení relace, po zadání hesla, OpenSSH nastaví pole TOS (typ služby) v IP datagramu. Směrovač se na to dusí. Výsledkem je, že vaše relace SSH visí na neurčito. Jinými slovy, příkazy nebo připojení SSH zřídka fungují nebo vůbec nefungují.
rozlišení s IPQoS 0x00
, dokud výrobce routeru neopraví svůj firmware. Zde je jedna možnost, jak tento problém vyřešit:
-
zkontrolujte znovu OpenSSH-server a OpenSSH-klient verze jsou 5.7 nebo novější. Například níže uvedené rozlišení by mělo fungovat s Debianem 7.11 nebo novějším, protože přichází s OpenSSH verze 6.0.
-
Upravit jeden z těchto dvou souborů umístěných v:
~/.ssh/config
nebo
/etc/ssh/ssh_config
Poznámka: konfigurační soubor na uživatele a ssh_config soubor je pro všechny uživatele a systém široký. Pokud si nejste jisti, upravte příslušný konfigurační soubor uživatele.
obsah souboru před
Host *
obsah souboru po
Host * IPQoS 0x00
- pokud již máte otevřená okna terminálu/konzoly. Úplně zavřete všechny. Pokud tak učiníte, uzavřete všechny aktivní relace SSH.
-
není třeba restartovat OpenSSH nebo váš Debian. Zkuste znovu SSH do libovolného vzdáleného serveru. Mělo by to fungovat. Udělal jste úspěšně opraven problém, že
Díky Joe a catmaker pro tento tip
Související dokumentace na https://www.openssh.com/txt/release-5.7
Usnesení s netcat
varování: doporučuje se zvážit použití tohoto jiného rozlišení s ipqos 0x00 namísto použití volby netcat / ProxyCommand nc %h %p. Protože IPQoS 0x00 je oficiální vestavěná možnost OpenSSH. Také IPQoS 0x00 je přímější způsob, jak tento problém vyřešit, a potenciálně bezpečnější možnost. Protože IPQoS 0x00 používá SSH vestavěné šifrování pro bezpečné přenosy. V porovnání s netcat není šifrované přenosy. Zdroje: 12. Pokud se rozhodnete použít netcat / ProxyCommand NC %h %p možnost číst dál.
další možností, jak vyřešit problém SSH visí, je použití ProxyCommand nc %h %p. Postupujte podle stejných kroků jako výše uvedené rozlišení s IPQoS 0x00. Ale nahraďte IPQoS 0x00
ProxyCommand nc %h %p
Udržujte připojení SSH naživu
z bezpečnostních důvodů je ve výchozím nastavení připojení SSH po nastavené době automaticky uzavřeno. V některých případech však chcete toto připojení ponechat otevřené. Například cloudové úložiště přes připojení SSH.
varování: před aktivací, která udržuje připojení SSH naživu možnost. Doporučuje se zvážit zabezpečení klienta SSH I serveru SSH. Protože například existuje riziko, že pokud uživatelé nechají otevřenou relaci SSH a jejich počítač bez dozoru a odemčený. Kdokoli se může k tomuto počítači přiblížit a pak využít toto otevřené připojení SSH. Například pomocí příkazu passwd a změňte heslo. A tak získat přístup k serveru. Jinými slovy, před aktivací, která udržuje připojení SSH naživu, doporučujeme použít váš nejlepší úsudek a správné bezpečnostní postupy.
Pro Debian 7.x server
kroky k udržení připojení SSH naživu.
na serveru SSH upravit/etc/ssh / sshd_config soubor a přidat následující v dolní části tohoto souboru.
# Keep client SSH connection alive by sending every 300 seconds a small keep-alive packet to the server in order to use ssh connection. 300 seconds equal 5 minutes.ClientAliveInterval 300 # Disconnect client after 3333 "ClientAlive" requests. Format is (ClientAliveInterval x ClientAliveCountMax). In this example (300 seconds x 3333) = ~999,900 seconds = ~16,665 minutes = ~277 hours = ~11 days.ClientAliveCountMax 3333
jako uživatel root restartujte službu SSH:
service sshd restart
Vezměte prosím na vědomí, že na nedávných systémech Debianu (např. Wheezy 7 s aktuálními aktualizacemi od listopadu. 2015), výše uvedený příkaz již nefunguje a vrátí chybu:
sudo service sshd restartsshd: unrecognized service
následující práce však fungují:
sudo service ssh restart Restarting OpenBSD Secure Shell server: sshd.
Viz také
-
obrazovka – terminál multiplexer s VT100/ANSI emulace terminálu
-
tmux – alternativní terminal multiplexer
CategoryNetwork CategorySoftware