fordítás(ok): Deutsch – English – Fran Xhamais – Italiano – Espa ons – Portuguese ons
ToDo: merge (és lefordítani) ez az oldal és a francia egy (teljesebb)
- Bevezetés
- telepítés
- az ügyfél telepítése
- a szerver telepítése
- konfigurációs fájlok
- gazdagép kulcsok regenerálása
- távoli bejelentkezés
- jelszóval
- megosztott kulcsok használata
- Keys management
- GUI használata
- biztonság
- SSH szerver
- jó gyakorlatok SSH szerverrel
- konfigurációs beállítások
- külső segédprogramok
- SSH kliens
- jó gyakorlatok SSH klienssel
- további funkciók
- fájlok megtekintése GUI-ban
- További parancsok
- scp
- sftp
- Szöveges mód
- grafikus mód
- fürtöksh
- ssh-agent és ssh-add
- kulcstartó
- ssh-askpass
- libpam-usb
- távoli parancsok
- SSH a Debian-ba egy másik operációs rendszerből
- az SSH használatának jó gyakorlata
- hibaelhárítás
- az OpenSSL verziójának eltérése. Az 1000105f ellen épített 10001060
- az SSH lefagy
- felbontás IPQoS 0x00
- felbontás a netcat segítségével
- tartsa életben az SSH-kapcsolatot
- A Debian 7 Esetében.x server
- Lásd még
Bevezetés
SSH jelentése Secure Shell és egy protokoll a biztonságos távoli bejelentkezés és más biztonságos hálózati szolgáltatások egy bizonytalan HÁLÓZAT1. Lásd Wikipedia-Secure Shell általánosabb információkat és ssh, lsh-client vagy dropbear az SSH szoftver implementációk közül OpenSSH a legnépszerűbb és legszélesebb körben használt2. SSH helyettesíti a titkosítatlan telnet, rlogin és rsh és hozzáteszi, sok funkcióval.
ebben a dokumentumban az OpenSSH parancscsomagot fogjuk használni, azt is feltételezzük, hogy a következő két változó van meghatározva:
remote_host=<the remote computer>remote_user=<your user name on $remote_host>
tehát, ha az alábbi recepteket szeretné használni, először állítsa be ezeket a változókat a távoli számítógép nevére és a távoli számítógép felhasználónevére. Ezután vágja be az alábbi parancsokat kell működnie. remote_host is lehet egy IP-címet.
telepítés
az ügyfél telepítése
általában az ügyfél alapértelmezés szerint telepítve van. Ha nem elég, hogy fut a root:
apt install openssh-client
a szerver telepítése
a szerver lehetővé teszi a távoli csatlakozást, és rootként fut:
apt install openssh-server
konfigurációs fájlok
a fő konfigurációs fájlok az /etc/ssh könyvtárban találhatók:
-
ssh_config: ügyfél konfigurációs fájl
-
sshd_config: szerver konfigurációs fájl
Ezenkívül ez a könyvtár tartalmazza a gazdagépet azonosító privát/nyilvános kulcspárokat :
- ssh_host_dsa_key
- ssh_host_dsa_key.pub
- ssh_host_rsa_key
- ssh_host_rsa_key.pub
az OpenSSH 5.73 óta új privát/nyilvános kulcspár áll rendelkezésre:
- ssh_host_ecdsa_key
- ssh_host_ecdsa_key.pub
az OpenSSH 6.54 óta új privát/nyilvános kulcspár áll rendelkezésre:
- ssh_host_ed25519_key
- ssh_host_ed25519_key.pub
gazdagép kulcsok regenerálása
rm /etc/ssh/ssh_host_*dpkg-reconfigure openssh-server
távoli bejelentkezés
jelszóval
ha be szeretne jelentkezni a $remote_hostba felhasználóként $remote_user egyszerűen írja be a
ssh $remote_user@$remote_host
majd írja be a jelszavát.
ha a helyi és a távoli számítógépen lévő felhasználónevek azonosak, akkor a $remote_user@-részt egyszerűen írhatja
ssh $remote_host
ha először jelentkezik be a távoli számítógépre, az ssh megkérdezi, hogy biztosan szeretne-e csatlakozni a távoli számítógéphez. Válasz ‘igen’ miután ellenőrizte a távoli számítógép ujjlenyomatát, írja be a jelszavát, és az ssh összekapcsolja Önt a távoli géppel.
megosztott kulcsok használata
az ssh egyik funkciója egy pár privát/nyilvános kulcs használata a távoli gazdagéphez való csatlakozáshoz. SSH kulcsként is ismert. Ez a módszer lehetővé teszi, hogy bejelentkezzen egy távoli gazdagépbe anélkül, hogy minden alkalommal beírná a jelszavát. Ehhez létre kell hoznia egy pár privát/nyilvános kulcsot a helyi gépen, és be kell helyeznie a nyilvános kulcsot a távoli gazdagépre.
a kulcs létrehozásához használja az ssh-keygen programot az alábbiak szerint
ssh-keygen -t rsa
ez a program létrehoz egy pár privát/nyilvános kulcsot a ~/könyvtárban.ssh. A program először a kulcsok célfájljait kéri, alapértelmezés szerint a~/.ssh. Ezután jelszót kérnek.
Megjegyzés: javasoljuk, hogy ne hagyja üresen a jelszót. Az a támadó, aki megszerzi a privát kulcsát, egyébként csatlakozhat azokhoz a gazdagépekhez, ahol a nyilvános kulcsot letétbe helyezte, mivel a jelszó üres. Válasszon egy hosszú és összetett jelszót.
a privát kulcsod id_rsa (ne add oda másnak), a nyilvános kulcsod id_rsa.pub.
a nyilvános kulcsot egy távoli gépre másolja az ssh-copy-id
ssh-copy-id -i ~/.ssh/id_rsa.pub $remote_user@$remote_host
paranccsal, most már egyszerűen csatlakozhat a távoli géphez, és a jelszót kéri. Miután elkészült, csatlakozik a távoli gazdagéphez. Új kapcsolat esetén a jelszót nem kérik újra a teljes munkamenet során.
Keys management
GUI használata
opcionálisan a seahorse egy GNOME alkalmazás, amely könnyen kezelheti a titkosítási kulcsokat és jelszavakat egy intuitív grafikus felhasználói felületen (GUI) keresztül. A Seahorse különféle műveleteket képes elvégezni. Például SSH vagy PGP kulcsok létrehozása, konfigurálása és gyorsítótárazása. Olvass tovább.
biztonság
SSH szerver
alapértelmezés szerint az SSH szerver viszonylag biztonságos. Néhány jó gyakorlat, konfigurációs lehetőség és külső segédprogram segítségével még nehezebbé tehető a ‘robotok’ és a crackerek számára
jó gyakorlatok SSH szerverrel
-
alkalmazza az openssh-server biztonsági frissítéseit a lehető leghamarabb. Amely lehetővé teszi az ismert biztonsági lyukak elleni védelmet.
-
aktiválja az SSH kulcsok hitelesítését csak jelszavakkal / jelmondatokkal. Deaktiválja a csak jelszó hitelesítést.
-
fontolja meg a fail2ban használatát, amely egy naplófájl-figyelő, amely automatikusan letiltja az IP-címet egy előre meghatározott számú sikertelen bejelentkezési kísérlet után. Amely automatikusan véd a brute-force támadások ellen.
-
további jó gyakorlatok az ssh at használatáhozhttps://lackof.org/taggart/hacking/ssh/
konfigurációs beállítások
az /etc/ssh/sshd_config fájlt kell szerkeszteni a paraméterek megváltoztatásához, majd újraindítani az ssh szervert
service ssh restart
-
deaktiválja a jelszavakat a hitelesítéshez (PasswordAuthentication no).
-
deaktiválja a root fiókot (PermitRootLogin no).
-
csak bizonyos felhasználók vagy csoportok (AllowUsers and AllowGroups) engedélyezhetik a bejelentkezést)
az AllowUsers és AllowGroups opciók nem javítják az SSH-kiszolgáló biztonságát. De bizonyos esetekben használatuk lehetővé teszi, hogy egy kicsit hosszabb ideig ellenálljon a nyers erő támadásának.
külső segédprogramok
-
fail2ban: lehetővé teszi, hogy automatikusan feketelistára IPs próbál brute force SSH szerver segítségével iptables.
-
denyhosts : mivel fail2ban, denyhosts lehetővé teszi, hogy blokkolja az IP-címeket próbál brute kényszeríteni a kapcsolatot ssh. De ellentétben fail2ban nem használja iptables, de a fájl / etc / hosts.tagadni.
SSH kliens
jó gyakorlatok SSH klienssel
-
alkalmazza az openssh-client biztonsági frissítéseit a lehető leghamarabb. Amely lehetővé teszi az ismert biztonsági lyukak elleni védelmet.
-
használja az SSH kulcsok hitelesítését. Jelszó hitelesítés helyett.
-
adjon hozzá erős jelszavakat/jelszavakat az SSH kulcsokhoz. Ez csökkenti a brute-force támadások kockázatát.
további funkciók
fájlok megtekintése GUI-ban
az olyan fájlkezelőkben, mint a Konqueror, a Dolphin, a Krusader és a Midnight Commander, a fish segítségével megtekintheti a GUI-ban lévő fájlokat:
fish://username@server_name_or_ip
További parancsok
scp
az scp egy parancssori segédprogram, amely lehetővé teszi fájlok átvitelét két gép között.
- fájl küldése:
scp $source_file $remote_user@$remote_host:$destination_file
- fájl másolása a helyi gépre:
scp $remote_user@$remote_host:$source_file $destination_file
sftp
Szöveges mód
grafikus mód
fürtöksh
ssh-agent és ssh-add
az ssh-agent hasznos segédprogram a privát kulcsok és jelszavaik kezeléséhez. A Debian legtöbb asztali környezete már be van állítva az ssh-agent futtatására (a systemd user services vagy az /etc/X11/Xsession segítségével), ezért nem kell manuálisan indítania.
# Check if ssh-agent is runningenv | grep -i ssh
továbbra is meg kell mondania az ügynöknek, hogy kezelje a kulcsokat.
# List keys managed by the agentssh-add -l# Add your ssh keyssh-add ~/.ssh/your_private_key
amikor először van szükség egy privát kulcsra, a rendszer kéri annak jelmondatát. az ssh-agent ezután emlékezni fog a kulcsra, hogy a jelmondatod ne legyen többé megkérdezve.
kulcstartó
a kulcstartó, amelyet a csomag biztosít kulcstartó, egy shell szkript, amely lehetővé teszi az ssh ügynök használatát ugyanazon számítógép több munkamenetében. Valójában az első indítás után az ssh-agent létrehoz egy állandó aljzatot, amely lehetővé teszi az ssh-val való kommunikációt. Erre az aljzatra csak annak a munkamenetnek a környezetében hivatkoznak, amelyben az ügynök elindult. A kulcstartó lehetővé teszi az ügynök észlelését és az ügynökhöz való hozzáférést más munkamenetekhez; ez lehetővé teszi az ssh-agent egyetlen példányának használatát felhasználónként egy gépen.
ssh-askpass
ssh-askpass egy segédprogram, hogy egyszerűen a kérdés a jelszót egy privát kulcs használatakor. Számos megvalósítás létezik:
-
x11-ssh-askpass: verzió az X11-hez
-
kaskpass: ssh-askpass integrálása a KDE környezetbe
-
ssh-askpass-gnome : ssh-askpass integrálása a Gnome környezetbe
libpam-usb
a libpam-usb egy segédprogram (csak a Debian Jessie számára érhető el), amely lehetővé teszi az USB-meghajtóval történő hitelesítést. Ez a csomag tartalmaz egy hasznos utilty: pamusb-agent. Ez a segédprogram, miután helyesen konfigurálta, lehetővé teszi az USB-meghajtón található SSH-kulcsok betöltését, miután csatlakoztatta, majd leválasztotta őket.
távoli parancsok
ha csak egy parancsot szeretne futtatni a távoli számítógépen, akkor nem kell bejelentkeznie. Megmondhatja az ssh-nak, hogy futtassa a parancsot bejelentkezés nélkül, például,
ssh $remote_user@$remote_host 'ls *.txt'
felsorolja az összes kiterjesztésű fájlt .txt a távoli számítógépen. Ez egyetlen kullancsos idézetekkel működik…”amint itt látható, dupla kullancsos idézetekkel”…”, idézőjelek nélkül. E három eset között különbségek lehetnek, bár, itt még nem dokumentálták.
SSH a Debian-ba egy másik operációs rendszerből
-
PuTTY egy terminál emulátor alkalmazás, amely működhet, mint egy kliens ssh. Széles körben használják a Windows felhasználók.
-
Wikipedia has Comparison_of_SSH_clients
az SSH használatának jó gyakorlata
ezt el kell olvasnia: https://lackof.org/taggart/hacking/ssh/
ez a dokumentum számos jó gyakorlatot foglal össze, amelyeket a rendszeres SSH-felhasználóknak követniük kell annak érdekében, hogy elkerüljék fiókjaik (és az egész gép biztonságának egyidejű veszélyeztetését).
állítsa be a~/.ssh / config küldeni csak a megfelelő gombot.
Host master.debian.org User account IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
hibaelhárítás
az OpenSSL verziójának eltérése. Az 1000105f ellen épített 10001060
ha ilyen hibaüzenetet kap az ssh démon indításakor, akkor futtatnia kell:
apt install openssh-server openssh-client
Lásd még: bug # 732940.
az SSH lefagy
kiadás
az SSH-t távoli számítógépbe próbálja meg. De közben SSH log-in a munkamenet lefagy / lefagy a végtelenségig. Így nem jelenik meg a parancssor. Nem használhat semmilyen SSH parancsot SSH hibakeresési mód használatakor a munkamenet ezen a vonalon lóg debug2: 0 csatorna: open confirm rwindow 0 Rmax 32768
lehetséges ok
egyes útválasztóknál a NAT mögött és az OpenSSH használatakor. A munkamenet beállítása során a jelszó megadása után az OpenSSH beállítja a TOS (szolgáltatás típusa) mezőt az IP datagramban. A router megfullad ezen. A hatás az, hogy az SSH munkamenet határozatlan ideig lóg. Más szavakkal, az SSH parancsok vagy kapcsolatok ritkán működnek, vagy egyáltalán nem működnek.
felbontás IPQoS 0x00
esetén, Amíg az útválasztó gyártója meg nem javítja a firmware-t. Itt van egy lehetőség a probléma megoldására:
-
ellenőrizze még egyszer, hogy az openssh-server és az openssh-client verziója 5.7 vagy újabb. Például az alábbi felbontásnak működnie kell a Debian 7.11 Wheezy vagy újabb verzióval, mivel az OpenSSH 6.0 verzióhoz tartozik.
-
szerkessze az alábbi két fájl egyikét:
~/.ssh/config
vagy
/etc/ssh/ssh_config
Megjegyzés: A konfigurációs fájl felhasználónként, az ssh_config fájl pedig minden felhasználó és rendszerszintű. Ha nem biztos benne, szerkessze a megfelelő felhasználói konfigurációs fájlt.
fájl tartalma előtt
Host *
fájl tartalma után
Host * IPQoS 0x00
- ha bármilyen terminál / konzol ablak(OK) már nyitva. Teljesen zárja be mindet. Ezzel lezárja az aktív SSH munkameneteket.
-
nem kell újraindítani az OpenSSH-t vagy a Debian-t. Próbálja újra SSH bármely távoli szerverre. Működnie kell. Kész sikeresen megoldotta ezt a problémát
köszönet Joe-nak és catmaker-nek a tippért
kapcsolódó dokumentáció https://www.openssh.com/txt/release-5.7
felbontás a netcat segítségével
figyelem: javasoljuk, hogy a netcat/ProxyCommand nc %h %p opció helyett fontolja meg a másik felbontás IPQoS 0x00 használatával történő használatát. Mivel az IPQoS 0x00 a hivatalos beépített OpenSSH opció. Szintén IPQoS 0x00 egy közvetlenebb módja annak, hogy megoldja ezt a problémát, és potenciálisan biztonságosabb lehetőség. Mivel az IPQoS 0x00 SSH beépített titkosítását használja a biztonságos átvitelhez. Hasonlítsa össze a netcat nem titkosított átvitelével. Források: 1 2. Ha úgy dönt, hogy a netcat/ProxyCommand nc % h % p opciót használja, olvassa el.
egy másik lehetőség az SSH lefagyásának megoldására a ProxyCommand nc %h %p használata. Ehhez kövesse ugyanazokat a lépéseket, mint a fenti felbontás IPQoS 0x00 esetén. De cserélje ki az IPQoS 0x00-at
ProxyCommand nc %h %p
tartsa életben az SSH-kapcsolatot
biztonsági okokból alapértelmezés szerint az SSH-kapcsolat automatikusan bezáródik egy meghatározott idő elteltével. De bizonyos esetekben meg akarja tartani ezt a kapcsolatot. Ilyen például a felhőalapú tárolás SSH kapcsolaton keresztül.
figyelmeztetés: Az SSH kapcsolat életben tartása opció aktiválása előtt. Javasoljuk, hogy fontolja meg mind az SSH kliens, mind az SSH szerver biztonságát. Mert például fennáll annak a veszélye, hogy ha a felhasználók nyitva hagyják az SSH-munkamenetüket, számítógépüket pedig felügyelet nélkül és zárolva hagyják. Bárki megközelítheti azt a számítógépet, majd kihasználhatja a nyitott SSH kapcsolatot. Például a passwd parancs használatával módosítsa a jelszót. Így hozzáférhet a szerverhez. Más szavakkal, az SSH kapcsolat életben tartása opció aktiválása előtt javasoljuk, hogy használja a legjobb megítélését és a jó biztonsági gyakorlatokat.
A Debian 7 Esetében.x server
lépések az SSH kapcsolat életben tartásához.
az SSH szerveren szerkessze az /etc/ssh/sshd_config fájlt, majd adja hozzá a következő fájlt a fájl aljára.
# 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
root felhasználóként indítsa újra az SSH szolgáltatást:
service sshd restart
kérjük, vegye figyelembe, hogy a legutóbbi Debian rendszereken(pl. 2015), a fenti parancs már nem működik, és visszaadja a hibát:
sudo service sshd restartsshd: unrecognized service
a következő munkák azonban:
sudo service ssh restart Restarting OpenBSD Secure Shell server: sshd.
Lásd még
-
képernyő-terminál multiplexer VT100 / ANSI terminál emulációval
-
tmux-alternatív terminál multiplexer
Kategóriahálózati Kategóriaszoftver