Android

Korištenje ssh config datoteke

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

Sadržaj:

Anonim

Jedna bi mogućnost bila stvoriti bash alias za svaku vezu na udaljeni poslužitelj. Međutim, postoji još jedno, puno bolje i jednostavnije rješenje za ovaj problem. OpenSSH vam omogućuje postavljanje konfiguracijske datoteke po korisniku u koju možete pohraniti različite SSH opcije za svaki udaljeni uređaj na koji se povezujete.

Ovaj vodič opisuje osnove konfiguracijske datoteke SSH klijenta i objašnjava neke od najčešćih opcija konfiguracije.

Preduvjeti

Pretpostavljamo da koristite Linux ili macOS sustav s instaliranim OpenSSH klijentom.

SSH Konfiguriraj lokaciju datoteke

OpenSSH konfiguracijska datoteka na strani klijenta naziva se config i sprema se u .ssh direktorij pod korisnikovu početnu mapu.

~/.ssh direktorij automatski se stvara kada korisnik prvi put ssh naredbu. Ako direktorij ne postoji u vašem sustavu, kreirajte ga pomoću naredbe u nastavku:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

SSH konfiguracijska datoteka po defaultu možda ne postoji, pa ćete je možda trebati kreirati pomoću touch naredbe:

touch ~/.ssh/config

Ovu datoteku mora čitati i pisati samo korisnik, a ne smije joj pristupiti drugi:

chmod 600 ~/.ssh/config

SSH Konfiguriranje strukture i obrasca datoteka

Datoteka SSG Config ima sljedeću strukturu:

Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value

Sadržaj SSH konfiguracijske datoteke klijenta organiziran je u strofe (odjeljke). Svaka strofa započinje direktivom Host i sadrži određene SSH opcije koje se koriste prilikom uspostavljanja veze s udaljenim SSH poslužiteljem.

Uvlačenje nije potrebno, ali preporučuje se jer datoteku čini lakšom za čitanje.

Direktiva Host može sadržavati jedan uzorak ili popis uzoraka odvojen od bjeline. Svaki uzorak može sadržavati nula ili više znakova koji nisu bjelokosni ili jedan od sljedećih specifičara uzoraka:

  • * - podudara s nulom ili više znakova. Na primjer, Host * odgovara svim domaćinima, dok se 192.168.0.* Podudara s domaćinima u podmreži 192.168.0.0/24 . ? - Odgovara točno jednom liku. Uzorak, Host 10.10.0.? odgovara svim domaćinima u 10.10.0. Raspon. ! - Kada se koristi na početku uzorka, to negira podudaranje. Na primjer, Host 10.10.0.* !10.10.0.5 odgovara bilo kojem hostu u podmreži 10.10.0.5 osim 10.10.0.5 .

SSH klijent čita konfiguracijsku datoteku prema stavci i ako se podudara više od jednog uzorka, opcije iz prve podudarajuće strofe imaju prednost. Stoga bi se više deklaracija specifičnih za host trebalo dati na početku datoteke, a općenitija poništavanja na kraju datoteke.

Potpuni popis dostupnih opcija ssh možete pronaći ako upišete man ssh_config u svom terminalu ili posjetite man ssh_config stranicu.

SSH konfiguracijsku datoteku čitaju i ostali programi poput scp , sftp i rsync .

Primjer konfiguracije SSH datoteke

Sada kada smo pokrili osnovnu SSH konfiguracijsku datoteku, pogledajmo sljedeći primjer.

Pri povezivanju s udaljenim poslužiteljem preko SSH-a specificirali biste udaljeno korisničko ime, ime računala i priključak. Na primjer, da biste se iz naredbenog retka prijavili kao korisnik s imenom john hostu zvanom dev.example.com na port 2322 dev.example.com biste:

ssh [email protected] -p 2322

Da biste se povezali s poslužiteljem koristeći iste opcije kao što je navedeno u gornjoj naredbi jednostavno upisivanjem ssh dev , u svoju "~/.ssh/config datoteku stavite sljedeće retke:

~ /.Ssh / konfiguracija

Host dev HostName dev.example.com User john Port 2322

Kada upišete ssh dev , ssh klijent će pročitati konfiguracijsku datoteku i upotrijebiti detalje veze koji su određeni za dev host:

ssh dev

Primjer datoteke zajedničke konfiguracije SSH datoteke

Ovaj primjer daje detaljnije informacije o uzorcima glavnog računala i opciji prednosti.

Uzmimo sljedeću primjernu datoteku:

Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes

  • Kada upišete ssh targaryen , ssh klijent čita datoteku i primjenjuje opcije iz prvog podudaranja, a to je Host targaryen . Zatim provjerava sljedeće jedinice jednu za drugom za pronalazak odgovarajućeg uzorka. Sljedeći odgovara Host * !martell (što znači sve hostove osim martell ) i primijenit će mogućnost povezivanja iz ove strofe. Posljednja definicija Host * također podudara, ali ssh klijent će preuzeti samo opciju Compression jer je User opcija već definirana u strofi Host targaryen .

    Potpuni popis opcija korištenih kada upisujete ssh targaryen je sljedeći:

    HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes

    Prilikom pokretanja ssh tyrell odgovarajući uzorci domaćina su: Host tyrell , Host *ell , Host * !martell i Host * . Opcije korištene u ovom slučaju su:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    Za sve ostale veze, ssh klijent će koristiti opcije navedene u odjeljcima Host * !martell i Host * .

Prevladavanje opcije SSH Config File

Ssh klijent čita svoju konfiguraciju u sljedećem redoslijedu prioriteta:

  1. Opcije određene iz naredbenog retka. Opcije definirane u ~/.ssh/config .ssh ~/.ssh/config Opcije definirane u /etc/ssh/ssh_config .

Host dev HostName dev.example.com User john Port 2322

i želite koristiti sve druge mogućnosti, ali za povezivanje kao korisnički root umjesto john jednostavno navedite korisnika u naredbenom retku:

ssh -o "User=root" dev

Opcija -F ( configfile ) omogućuje vam određivanje alternativne konfiguracijske datoteke po korisniku.

Kako biste rekli ssh klijentu da ignorira sve mogućnosti navedene u ssh konfiguracijskoj datoteci, koristite:

ssh -F /dev/null [email protected]

Zaključak

Pokazali smo vam kako konfigurirati svoju korisničku ssh config datoteku. Možda ćete također htjeti postaviti SSH ključ provjere autentičnosti i povezati se sa svojim Linux poslužiteljima bez unosa lozinke.

Prema zadanom, SSH sluša na priključku 22. Promjena zadanog SSH priključka dodaje dodatni sloj sigurnosti vašem poslužitelju smanjujući rizik od automatiziranih napada.

ssh terminal