Kako koristiti SSH za povezivanje sa serverom

U ovom članku ćemo objasniti osnovne i napredne načine korišćenja ssh alata za rad sa udaljenim serverima. SSH (Secure Shell) omogućava sigurno povezivanje i administraciju servera direktno iz terminala.

Osnovno povezivanje

Za povezivanje na udaljeni server koristimo korisničko ime i IP adresu servera:

ssh korisnik@192.168.1.100

Nakon pokretanja komande biće zatražena lozinka za datog korisnika.

Custom port

Ako SSH server ne radi na podrazumevanom portu (22), potrebno je navesti port pomoću -p opcije:

ssh -p 2222 korisnik@192.168.1.100

Kopiranje fajlova pomoću SCP

Pomoću scp možemo prebacivati fajlove sa lokalne mašine na server i obrnuto:

Kopiranje fajla sa lokalnog računara na server:

scp fajl.txt korisnik@192.168.1.100:/home/korisnik/

Kopiranje fajla sa servera na lokalni računar:

scp korisnik@192.168.1.100:/home/korisnik/fajl.txt ./

SSH ključevi (bez lozinke)

Kako bismo izbegli stalno kucanje lozinke, koristimo autentifikaciju putem para ključeva (public/private key).

Kreiranje ključeva na lokalnoj mašini:

ssh-keygen -t rsa -b 4096 -C "vas@email.com"

Po default-u ključevi se čuvaju u ~/.ssh/id_rsa (privatni) i ~/.ssh/id_rsa.pub (javni).

Slanje javnog ključa na server:

ssh-copy-id korisnik@192.168.1.100

Nakon ovoga biće moguće prijavljivanje bez lozinke.

Tuneliranje porta

SSH može da se koristi i za prosleđivanje portova, npr. kada želimo da pristupimo bazi ili aplikaciji na udaljenom serveru preko lokalne mašine.

ssh -L 3307:localhost:3306 korisnik@192.168.1.100

Ovim pristupamo udaljenoj MySQL bazi (port 3306) kroz lokalni port 3307.

Izvršavanje komandi na daljinu

Umesto interaktivne sesije, možemo poslati komandu direktno serveru:

ssh korisnik@192.168.1.100 "ls -la /var/www"

Na ovaj način dobijamo output komande bez ulaska u shell.

Konfiguracioni fajl (~/.ssh/config)

Da bismo olakšali korišćenje, možemo definisati alias za server u ~/.ssh/config fajlu:

Host mojserver
  HostName 192.168.1.100
  User korisnik
  Port 22
  IdentityFile ~/.ssh/id_rsa

Nakon ovoga, dovoljno je kucati:

ssh mojserver

Zaključak

SSH nije samo alat za prijavu na server, već moćan način za bezbednu administraciju, transfer fajlova i tuneliranje portova. Ovladavanje osnovnim i naprednim funkcijama ssh značajno olakšava rad svakom programeru i administratoru.

Napisao Danilo Vešović

Share :