SSH

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page SSH and the translation is 100% complete.

Az SSH (Secure SHell) a mindenütt jelen lévő eszköz a távoli gépekre való biztonságos bejelentkezéshez és az azokon való munkavégzéshez. Minden érzékeny információ erősen titkosított, és a távoli shell mellett az SSH támogatja a fájlátvitelt és a porttovábbítást tetszőleges protokollokhoz, így biztonságos hozzáférést tesz lehetővé a távoli szolgáltatásokhoz. Felváltja a klasszikus telnet, rlogin és hasonló nem biztonságos eszközöket – de az SSH nem csak egy távoli shell, hanem egy teljes környezet a távoli rendszerekkel való munkavégzéshez.

A fő ssh parancson kívül az SSH programcsomag olyan eszközöket is tartalmaz, mint az scp (Secure Copy Program - biztonságos másolási program), az sftp (Secure File Transfer Protocol - biztonságos fájlátviteli protokoll) vagy az ssh-agent, amely segíti a kulcskezelést. A szabványos SSH port a 22-es port.

Az SSH-nak több verziója is létezett. Ma az SSH legnépszerűbb és de facto szabvány megvalósítása az OpenBSD OpenSSH programjának. Ez előre telepítve van jelen a Gentoo -ban, és BSD ("and freer") licenc alatt jelent meg.

Az SSH többplatformos, és nagyon elterjedt: Az OpenSSH alapértelmezés szerint telepítve van a legtöbb Unix-szerű operációs rendszerben, Windows10-ben, MacOS-on, valamint telepíthető Androidra vagy "jailbroken - gyári korlátozásoktól felszabadított" iOS-ra (SSH kliensek is elérhetők). Ez teszi az SSH-t kiváló eszközzé a heterogén (alapból össze nem illő) rendszerekkel való munkavégzéshez.

Telepítés

Telepítés ellenőrzése

A Gentoo Linux telepítőben már benne kell, hogy legyen az OpenSSH, mivel a net-misc/openssh csomag, a system set csomag része a rendszerkészletnek. Az OpenSSH megléte és megfelelő működése az ssh parancs futtatásával ellenőrizhető, amelynek következtében egy használati utasítást kell kiírnia a képernyőre:

user $ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

Ha nem íródik ki a használati utasítás, akkor lehet, hogy az OpenSSH sérült, vagy nincs telepítve. Próbálja meg újratelepíteni a emerge szakasz utasítását követve, mintha újraépítené az USE jelölőzászló módosítása után. Ha az OpenSSH eltávolításra került, akkor ennek hatására újra kell telepítődnie. Ezután telepítve kell maradnia a rendszerkészlet részeként.

Ha ez nem próbálja meg telepíteni az OpenSSH-t, akkor a csomag masked lehet, vagy akár szerepel a package.provided listán, bár ez szokatlan dolog lenne.

USE jelölőzászlók

USE flags for net-misc/openssh Port of OpenBSD's free SSH release

+pie Build programs as Position Independent Executables (a security hardening technique)
+ssl Enable additional crypto algorithms via OpenSSL
audit Enable support for Linux audit subsystem using sys-process/audit
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
kerberos Add kerberos support
ldns Use LDNS for DNSSEC/SSHFP validation.
legacy-ciphers Enable support for deprecated, soon-to-be-dropped DSA keys. See https://marc.info/?l=openssh-unix-dev>m=170494903207436>w=2.
libedit Use the libedit library (replacement for readline)
livecd Enable root password logins for live-cd environment.
pam Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
security-key Include builtin U2F/FIDO support
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
static !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
verify-sig Verify upstream signatures on distfiles
xmss Enable XMSS post-quantum authentication algorithm

Emerge

Miután megváltoztatta az USE jelölőzászlókat csak az just for the OpenSSH csomaghoz, építse újra az OpenSSH-t az új jelölőzászlók alkalmazásához. Mivel az OpenSSH a rendszerkészletben van, a --oneshot-ot kell használni, hogy ne adjuk hozzá a world fájlhoz:

root #emerge --ask --changed-use --oneshot net-misc/openssh

Miután megváltoztatta a make.conf globális jelölőzászlóit, amelyek az OpenSSH csomagot érintik, az emerge world frissítéséhez frissítse az új USE jelölőzászlókat:

root #emerge --ask --verbose --update --deep --newuse @world

Konfiguráció

Kulcsok létrehozása

A biztonságos shell biztosítása érdekében kriptográfiai kulcsok vannak használva az SSH által kínált titkosítási, visszafejtési és hash kivonatolási funkciók kezelésére.

Első futtatáskor az sshd init-script legenerálja az összes rendszerkulcsot, ha még azok nem léteznek. Általában nincs szükség újbóli létrehozásukra (kivéve, ha a rendszert feltörték), de ha erre szükség van, akkor ezt manuálisan is megtehető az ssh-keygen paranccsal (RSA, ECDSA és Ed25519 algoritmusok):

root #ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N ""
root #ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
root #ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

Szerverkonfiguráció

az SSH szerver általában az /etc/ssh/sshd_config fájlban van beállítva, bár az OpenRC /etc/conf.d/sshd fájljában további konfigurálás is elvégezhető, beleértve a konfigurációs fájl helyének megváltoztatását is. A szerver konfigurálásával kapcsolatos részletes információkért tekintse meg a sshd_config(5) kézikönyvet.

A szerver lehetőséget biztosít a konfiguráció tesztelésére:

root #/usr/sbin/sshd -t
Important
Mindig ellenőrizze a konfigurációban a változtatásokat a szolgáltatás újraindítása előtt, hogy a távoli bejelentkezés elérhető maradjon.

Klienskonfiguráció

A ssh kliens és a kapcsolódó programok (scp, sftp stb.) a következő fájlokkal konfigurálhatók:

  • ~/.ssh/config
  • /etc/ssh/ssh_config

További információkért olvassa el a ssh_config(5) man oldalt.

Behatolás megelőzése

Az SSH egy gyakran támadott szolgáltatás. Az olyan eszközök, mint a sshguard és a fail2ban, figyelik a naplókat és a feketelistára rakják azokat a távoli felhasználókat, akik sikertelenül próbáltak meg bejelentkezni többször is. Szükség szerint használja fel a felsorolt eszközöket a gyakran támadott rendszer védelmére.

Szolgáltatás

Az SSH szerver futtatásához szükséges parancsok az aktív init rendszertől függenek.

OpenRC

Adja hozzá az OpenSSH démont az alapértelmezett futási szinthez:

root #rc-update add sshd default

Indítsa el az sshd démont a következővel:

root #rc-service sshd start

Az OpenSSH szerver ugyanúgy vezérelhető, mint bármely más OpenRC által kezelt szolgáltatás:

root #rc-service sshd start
root #rc-service sshd stop
root #rc-service sshd restart
Note
Az rc-service sshd restart kiadása nem érinti a szerverhez vezető aktív ssh-kapcsolatokat.

systemd

Azért, hogy az OpenSSH démon elinduljon a rendszer indításakor:

root #systemctl enable sshd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib64/systemd/system/sshd.service.

Az OpenSSH démon elindításához:

root #systemctl start sshd.service

Annak ellenőrzésére, hogy a szolgáltatás elindult-e:

root #systemctl status sshd.service

Használat

Parancsok

Az OpenSSH számos parancsot biztosít. A használati információkért tekintse meg az egyes parancsok man oldalát:

  • scp(1) - Biztonságos fájlmásolás.
  • sftp(1) - Biztonságos fájlátvitel.
  • ssh-add(1) - Privát kulcs identitások hozzáadása a hitelesítőügynökhöz.
  • ssh-agent(1) - Hitelesítőügynök.
  • ssh-copy-id(1) - Helyileg elérhető kulcsokkal engedélyezze a bejelentkezést egy távoli gépen.
  • ssh-keygen(1) - Hitelesítési kulcs segédprogram.
  • ssh-keyscan(1) - Nyilvános SSH kulcsok gyűjtése a szerverekről.
  • sshd(8) - OpenSSH démon

Escape szekvenciák

Aktív SSH munkamenet során a tilde (~) billentyű lenyomása egy escape szekvenciát indít el. A lehetőségek listájához írja be a következőket:

ssh>~?

Vegye figyelembe, hogy a escape parancsokat a rendszer csak az új sorban ismeri fel azonnal. Nem mindig működnek bizonyos parancsértelmező shellekben. Például fish.

Jelszó nélküli hitelesítés egy távoli SSH-kiszolgálóhoz

Praktikus a git szerverkezeléshez.

See also
További részletekért tekintse meg a Biztonsági kézikönyvet.
Warning
A jelszó üresen hagyása azt jelenti, hogy a privát kulcsfájl nem lesz titkosítva. A helyi fájlrendszerhez hozzáférő támadó képes lesz olvasni a privát kulcsot.

Kliens

Az kliens számítógépen, ha még nem tette meg, akkor hozzon létre egy kulcspárt. Hozzon létre egy kulcspárt a következő futtatásával (természetesen nem ír be jelszót):

user $ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/larry/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/larry/.ssh/id_ed25519
Your public key has been saved in /home/larry/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:riDdFuPhN7alEsAvm717gM1IZBP3DYXGo5apQG7OUM1 larry@client
The key's randomart image is:
+--[ED25519 256]--+
| .+   ..+o.      |
| o +   Ao+.o     |
|. o A Oo  . .    |
| =   + .o +      |
|  o   . S= + .   |
|     . *. B + .  |
|      o.=  * o   |
|     ...+ = .    |
|      .. .+=     |
+----[SHA256]-----+

A kulcsok alapértelmezett fájlneveit nem szabad megváltoztatni, különben a kiszolgáló továbbra is jelszót kér még az ssh-copy-id futtatása után is. A fájl neve a következők egyike lesz:

  • id_rsa
  • id_ecdsa
  • id_ed25519

a használt kulcsalgoritmustól függően.

Szerver

Győződjön meg arról, hogy létezik a felhasználó fiókja a szerveren, majd helyezze el az kliens id_ed25519.pub fájlját a szerver ~/.ssh/authorized_keys fájljába a felhasználó saját könyvtárában. Ezt a következő parancs futtatásával lehet végrehajtani: az kliensszámítógépen (Itt a felhasználó jelszavát kell megadni a szerveren):

user $ssh-copy-id <server>
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/larry/.ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
larry@<server>'s password: 
 
Number of key(s) added: 1
 
Now try logging into the machine, with:   "ssh '<server>'"
and check to make sure that only the key(s) you wanted were added.

Ezt követően a jelszó nélküli bejelentkezést lehetővé kell tenni:

user $ssh <server>
larry@<server>

Valamint a szerveren a /etc/ssh/sshd_config fájlt PasswordAuthentication no értékre kell állítani.

Egy gépen történő tesztelés

A fenti eljárás helyben tesztelhető:

user $ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/larry/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:
...
user $mv ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys
user $ssh localhost

Távoli szolgáltatások ssh-n keresztül

Az SSH titkosított "alagúton" keresztül távoli szolgáltatások elérésére használható. Például http, https, fájlmegosztások, stb. A távoli szolgáltatás elérését az SSH tunneling és az SSH jump host cikkek részletezik.

Fájlok másolása távoli számítógépre

Az SFTP parancs, amely az SSH része, az SSH fájlátviteli protokollt használja a fájlok távoli számítógépre másolására. Az rsync is alternatíva erre a feladatra.

Note
A OpenSSH 8.0 kiadási megjegyzései 2019-től azt írják, hogy "az scp protokoll elavult, rugalmatlan és nem javítható azonnal. Javasoljuk a használatát a modernebb protokollok közül, mint például az sftp és az rsync a fájlátvitelhez.". A OpenSSH 8.8 kiadási megjegyzések, 2021-től kijelenti, hogy "Az OpenSSH közeljövőben történő kiadása lecseréli az scp(1)-et a régi scp/rcp protokoll használatát az SFTP használatára, ami alapértelmezett lesz.".

ssh-agent

Az OpenSSH tartalmazza az ssh-agent (ssh ügynök) démont. Ez egy démon a gyorsítótárazáshoz, és megakadályozza a gyakori ssh-jelszók bevitelét. Futás közben az SSH_AUTH_SOCK környezeti változó az ssh-agent kommunikációs socketjére mutat. Az ssh-agent beállításának szokásos módja az, hogy a felhasználó munkamenetének legfelső folyamataként futtassa. Különben a környezeti változók nem lesznek láthatók a munkameneten belül.

Attól függően, hogy a grafikus felhasználói munkamenet milyen módon van beállítva az indításhoz, nehéz lehet megtalálni a megfelelő módot az ssh-agent elindítására. Példaként a lightdm képernyőkezelőhöz szerkessze és módosítsa az /etc/lightdm/Xsession fájlt a következőről:

user $exec $command

Erre:

user $exec ssh-agent $command

Ha munkamenetenként egyszer szeretné megmondani az ssh-agent jelszót, futtassa az ssh-add parancsot manuálisan, vagy használja az AddKeysToAgent opciót.

A legutóbbi Xfce automatikusan elindítja az ssh-agent (és a gpg-agent) démont. Ha mindkettő telepítve van, akkor mindkettő elindul, ami különösen az intelligens kártyákkal bonyolítja az identitáskezelést. Vagy állítsa le az XFCE-t, hogy automatikusan elindítsa legalább az ssh-agent-et, vagy tiltsa le mindkettőt, és használja a shell-t, az X-session-t vagy hasonlókat.

user $xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
user $xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false

Tippek

Terminál multiplexerek a munkamenetek megőrzéséhez

Lehetőség van egy terminal multiplexer használatával a munkamenet folytatására a kapcsolat megszakadása után. A Tmux és a Screen két népszerű multiplexer, amelyek segítségével újra lehet kapcsolódni egy munkamenethez, még akkor is, ha egy parancs futott, amikor a kapcsolat megszakadt.

SSH időszakos kapcsolatokon keresztül

Instabil internetkapcsolat esetén vagy hálózatok közötti barangoláskor (például wifi-hálózatok áthelyezésekor), a mosh segíthet elkerülni az SSH-munkamenetek megszakadását.

Új lapok megnyitása a munkamenethez a Kitty terminállal

Az SSH kitten használatával a Kitty terminál emulátorban új "lapok" vagy ablakok nyithatók meg az aktuális SSH munkamenetben anélkül, hogy újra be kellene jelentkezni.

A Kitty egyéb praktikus SSH funkciókat is biztosít.

Mérje fel az ed25519 kulcs optimális köreit

Tip
Nagyon tanácsos benchmarkingot végezni az ed25519 kulcsgenerálási folyamathoz, különös tekintettel a 16 kör alapértelmezett értékére és a magasabb körértékekkel elérhető teljesítményjavításokra.
FILE ssh-benchmark.shBenchmark SSH Ciphers
#!/bin/sh

rounds="16 32 64 100 150"
num_runs=20

for r in $rounds; do
    printf "Benchmarking 'ssh-keygen -t ed25519 -a %s' on average:\n" "$r"
    total_time=0
    i=1
    while [ $i -le $num_runs ]; do
        start_time=$(date +%s.%N)
        ssh-keygen -t ed25519 -a "$r" -f test -N test >/dev/null 2>&1
        end_time=$(date +%s.%N)
        runtime=$(echo "$end_time - $start_time" | bc)
        total_time=$(echo "$total_time + $runtime" | bc)
        rm test{,.pub} >/dev/null 2>&1
        printf "Run %s: %s seconds\n" "$i" "$runtime"
        i=$((i + 1))
    done
    average_time=$(echo "scale=3; $total_time / $num_runs"| bc)
    printf "Average execution time: %s seconds\n\n" "$average_time"
done
Note
Erősen ajánlott az ed25519 kulcsgenerálás benchmarkingja, figyelembe véve mind a biztonság, mind a teljesítmény szempontokat. Bár a legmagasabb ajánlott kör kiemelkedő biztonságot nyújthat, elengedhetetlen az optimális egyensúly megtalálása az egyéni követelmények és az időkorlátok alapján. Benchmark tesztek elvégzésével kiértékelhető a biztonság és a teljesítmény közötti kompromisszum, biztosítva a megfelelő kör érték kiválasztását az ed25519 kulcsokhoz.

A benchmarking kulcsfontosságú folyamat egy rendszer vagy egy adott komponens, például kriptográfiai algoritmusok teljesítményének és hatékonyságának mérésére. Az SSH (Secure Shell) titkosításokkal kapcsolatban fontos meghatározni az ed25519 kulcsok generálásához szükséges körök optimális számát.

A megadott szkript, az ssh-benchmark.sh, benchmarkingot végez az ssh-keygen paranccsal az ed25519 kulcsok különböző kerekítési értékeivel. A szkript többször végrehajtja az ssh-keygen parancsot változó körértékekkel, és méri a végrehajtódás idejét minden egyes futásnál. Ezután kiszámítja az átlagos végrehajtódás idejét minden egyes körértékhez.

A különböző körértékek összehasonlításával a rendszergazdák és a biztonsági szakemberek meghatározhatják az optimális körértéket, amely egyensúlyt teremt a biztonság és a teljesítmény között. A magasabb körértékek általában nagyobb biztonságot nyújtanak, de megnövekedett számítási többletet eredményezhetnek. A megfelelő egyensúly megtalálása biztosítja, hogy az ed25519 kulcsok hatékonyan, a biztonság veszélyeztetése nélkül generálódjanak le.

A benchmarking segít azonosítani a potenciális szűk keresztmetszeteket, sebezhetőségeket vagy a biztonsági rendszerek fejlesztését igénylő területeket. Segít kiválasztani a legmegfelelőbb algoritmusokat és konfigurációkat egy adott használati esethez, biztosítva, hogy a biztonsági intézkedések robusztusak és hatékonyak legyenek.

Hibaelhárítás

Három különböző szintű hibakeresési mód áll rendelkezésre, amelyek segíthetnek a problémák hibaelhárításában. a -v opcióval az SSH hibakereső üzeneteket jelenít meg a folyamatról. Ez hasznos a kapcsolati, hitelesítési és konfigurációs problémák hibakeresésében. Több -v opció növeli a bőbeszédűséget. A maximális bőbeszédűség három szint mélységű.

user $ssh example.org -v
user $ssh example.org -vv
user $ssh example.org -vvv

Az jogosultságok túl nyitottak

Az ssh kapcsolat csak akkor működik, ha az ~/.ssh könyvtár fájlengedélyei és tartalma megfelelő.

  • A ~/.ssh könyvtár engedélyeinek 700-nak kell lenniük (drwx------), azaz a tulajdonosnak teljes hozzáférése van, és senki másnak nincs hozzáférése.
  • Az ~/.ssh könyvtár alatt:
    • A nyilvános kulcsú fájlok jogosultsága 644 (-rw-r--r--), azaz bárki elolvashatja a fájlt, csak a tulajdonos írhat.
    • Minden más fájl jogosultsága 600 (-rw-------), azaz csak a tulajdonos olvashatja vagy írhatja a fájlt.

Ezeknek az engedélyeknek megfelelőnek kell lenniük a kliensen és a szerveren.

A hosszú életű kapcsolatok halála

Sok internet-hozzáférést biztosító eszköz hálózati címfordítást (NAT) hajt végre, amely folyamat lehetővé teszi a magánhálózaton, például otthoni vagy üzleti helyen található eszközök számára, hogy hozzáférjenek idegen hálózatokhoz, például az internethez, annak ellenére, hogy csak egyetlen IP-címmel rendelkezik azon a hálózaton. Sajnos nem minden NAT-eszköz egyforma, és némelyikük helytelenül zárja be a hosszú élettartamú, alkalmanként használt TCP kapcsolatokat, például az SSH által használtakat. Ez általában úgy figyelhető meg, hogy hirtelen képtelenség kommunikálni a távoli szerverrel, még akkor is, ha az ssh kliensprogram nem lépett ki.

A probléma megoldása érdekében az OpenSSH klienseket és szervereket be lehet állítani úgy, hogy egy 'tarts életben' vagy láthatatlan üzenetet küldjenek a link élő állapotának fenntartására és megerősítésére:

  • Az életben tartás engedélyezéséhez minden kliensnél, amely a helyi szerverhez csatlakozik, állítsa be a ClientAliveInterval 30 értéket (vagy más értéket másodpercben) az /etc/ssh/sshd_config fájlban.
  • Az életben tartás engedélyezéséhez minden szerverre, amelyhez a helyi kliens csatlakozik, állítsa be a ServerAliveInterval 30 értéket (vagy más értéket másodpercben) az /etc/ssh/ssh_config vagy ~/.ssh/config fájlban.
  • Állítsa be a TCPKeepAlive no beállítást, hogy segítsen kiküszöbölni a kapcsolatszakadásokat.

Például a szerver konfigurációjának módosításához adja hozzá a következő fájlt:

FILE /etc/ssh/sshd_config/01_ClientAlive.confHelp disconnects occur less often (server)
# The following ClientAlive values will keep an inactive session open for 30 minutes
ClientAliveCountMax 60
ClientAliveInterval 30
#
# Deactivate TCPKeepAlive
TCPKeepAlive no

A kliens konfigurációjának módosításához adja hozzá a következő fájlt:

FILE /etc/ssh/ssh_config/01_ServerAlive.confHelp disconnects occur less often (client)
# The following ServerAlive values will keep an inactive session open for 2 hours
ServerAliveInterval 60
ServerAliveCountMax 120

Az új kulcs nincs használva

Ez a forgatókönyv arra az esetre vonatkozik, amikor létrehoztak egy távoli rendszer eléréséhez szükséges kulcsot, a nyilvános kulcs telepítve van a távoli rendszerre, de a távoli rendszer (valamilyen oknál fogva) nem érhető el SSH-n keresztül. Ez akkor fordulhat elő, ha a kulcsfájl nevét nem ismeri az SSH.

A Hibaelhárítás rész elején leírtak szerint ellenőrizze, hogy az SSH mely kulcsfájlokkal próbál futni. A bőbeszédű kimenet tartalmazza a kipróbált kulcsfájlok nevét, és azt (ha van ilyen), hogy amelyik a ténylegesen használatos.

A rendszer alapértelmezett kulcsfájljai az /etc/ssh/ssh_config listában találhatók. Lásd az kikommentelt IdentityFile direktívákat tartalmazó megjegyzés sorokat.

Többféleképpen is használhatunk egy kulcsot nem-alapértelmezett névvel.

A kulcs neve minden alkalommal megadható a parancssorban:

user $ssh -i ~/.ssh/my_keyfile user@remotesys

Vagy adja hozzá a következő ssh konfigurációs fájlt, hogy speciális ssh esetet adhasson a távoli rendszerhez:

FILE /etc/ssh/ssh_config/02_remotesys.confDefine keyfiles to use for host remotesys
Host remotesys
    IdentityFile ~/.ssh/id_rsa
    IdentityFile ~/.ssh/my_keyfile

Ha bármi meg van adva, akkor szükségesnek tűnik a távoli gazdagépen az összes kívánt kulcs megadása. Olvassa el az ssh IdentityFile -t.

X11 forwarding, nem forwarding, vagy tunneling

Probléma: Miután elvégezte a szükséges módosításokat a konfigurációs fájlokon az X11 forwarding engedélyezéséhez, kiderül, hogy X alkalmazás fut a szerveren, és nem kerülnek forwarding-ra a kliens felé.

Megoldás: Ami valószínűleg az SSH bejelentkezéskor történik a távoli szerverre vagy gazdagépre, a DISPLAY változó vagy nincs beállítva, vagy az SSH munkamenet beállítása után kerül beállításra.

A teszt ehhez a forgatókönyvhöz az, hogy távoli bejelentkezés után hajtsa végre a következőket:

user $echo $DISPLAY
localhost:10.0

A kimenetnek valami hasonlónak kell lennie a localhost:10.0 vagy a localhost2.local:10.0-hoz a szerveroldali X11UseLocalhost no beállítással. Ha a szokásos :0.0 nem jelenik meg, ellenőrizze, hogy a ~/.bash_profile-on belüli DISPLAY változó nem törlődik-e vagy nincs-e újra inicializálva. Ha igen,akkor távolítsa el vagy rakja megjegyzésbe a DISPLAY változó egyéni inicializálását, hogy megakadályozza a ~/.bash_profile kódjának végrehajtását az SSH bejelentkezés során:

user $ssh -t larry@localhost2 bash --noprofile

Ügyeljen arra, hogy a fenti parancsban a larry szót a megfelelő felhasználónévvel helyettesítse.

Egy trükk, ami ezt a feladatot megoldja, egy aliasz létrehozása a felhasználók ~/.bashrc fájljában.

További olvasnivaló a témával kapcsolatban

  • Autossh — a command that detects when SSH connections drop and automatically reconnects them.
  • dropbear — a lightweight SSH server. It runs on a variety of POSIX-based platforms.
  • Keychain — This document describes how to use SSH shared keys along with the keychain program.
  • Mosh — a SSH client server that is aware of connectivity problems of the original SSH implementation.
  • SCP — an interactive file transfer program, similar to the copy command, that copies files over an encrypted SSH transport.
  • SFTP — an interactive file transfer program, similar to FTP, which performs all operations over an encrypted SSH transport.
  • SSHFS — a secure shell client used to mount remote filesystems to local machines.
  • SSH tunneling — a method of connecting to machines on the other side of a gateway machine.
  • SSH jump host — employed as an alternative to SSH tunneling to access internal machines through a gateway.
  • rsync — a powerful file sync program capable of efficient file transfers and directory synchronization.
  • Az ssh szolgáltatás biztonságossá tétele (Biztonsági kézikönyv)
  • Az SSH démon intítása — Gentoo kézikönyv — Telepítés

Külső források