Ang Iyong Patnubay Sa Paggamit ng SSH



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

SSH ay isang network protocol na gumagana sa isang console. Ang pinakakaraniwang ginagamit na SSH client ay ang PuTTy. Ipinapakita ng imahe sa ibaba ang isang itinatag na sesyon ng SSH. Madali itong gamitin, at mabilis. Pinamamahalaan ng karamihan sa IT Professional ang buong network sa pamamagitan lamang ng SSH dahil sa seguridad, at ang mabilis / madaling pag-access upang maisagawa ang mga gawain sa pamamahala at pamamahala sa server. Ang buong session sa SSH ay naka-encrypt - Ang mga pangunahing protokol para sa SSH ay SSH1 / SSH-1 at SSH2 / SSH-2. Ang SSH-2 ang huli, mas ligtas pagkatapos ng SSH-1. Ang isang Linux OS ay may built in na utility na tinatawag na Terminal upang ma-access ang console at ang isang windows machine ay nangangailangan ng isang SSH Client (hal. PuTTy).



masilya



Pag-access sa isang Remote Host Gamit ang SSH



Upang ma-access ang isang remote host / machine gamit ang SSH, kakailanganin mong magkaroon ng mga sumusunod:

sa) PuTTy (Libreng SSH Client)
b) Username ng SSH Server
c) SSH Server Password
d) SSH Port na karaniwang 22 ngunit dahil ang 22 ay default, dapat itong mapalitan sa ibang port upang maiwasan ang mga pag-atake sa port na ito.

Sa isang Linux Machine, ang ugat ng username ay ang administrator bilang default at naglalaman ng lahat ng mga karapatang pang-administratibo.

Sa Terminal, ang sumusunod na utos ay magpapasimula ng isang koneksyon sa server.

ssh root@192.168.1.1
kung saan, ugat ang username, at 192.168.1.1 ang host address

Ganito ang hitsura ng terminal:

terminal

Ang iyong mga utos ay mai-type pagkatapos ng simbolo ng $ . Para sa tulong sa anumang utos sa terminal / masilya, gamitin ang syntax:

tao ssh
utos ng tao

tao, na sinusundan ng anumang utos ay babalik sa gabay sa utos ng utos

Kaya kung ano ang gagawin ko ngayon, ay ginagamit ng SSH ang PuTTy sa aking Debian OS na tumatakbo sa VMWare.

Ngunit bago ko ito gawin, kailangan kong paganahin ang SSH sa pamamagitan ng pag-log in sa aking aking VM Debian - Kung bumili ka lamang ng isang server mula sa isang hosting company, maaari mong hilingin sa kanila na paganahin ang SSH para sa iyo.

Upang paganahin ang ssh, gamitin
sudo /etc/init.d/ssh restart

Dahil gumagamit ako ng Ubuntu, at ang ssh ay hindi na-install, kaya
Upang mai-install ssh gamitin ang mga utos na ito
sudo apt-get install openssh-client
sudo apt-get install openssh-server

At, narito kung ano ang nakuha ko, naka-log in sa SSH sa pamamagitan ng PuTTy:

ssh

Ngayon ito ang kinakailangan upang mai-set up ang SSH at magtaguyod ng isang sesyon sa pamamagitan ng PuTTy - Sa ibaba, tatalakayin ko ang ilang pangunahing mga advanced na tampok na dahan-dahang magsisimulang bigyan ka ng mas malawak na pagtingin sa buong senaryo.

Ang default na ssh config file ay matatagpuan sa: / etc / ssh / sshd_config
Upang matingnan ang paggamit ng file ng pagsasaayos: pusa / etc / ssh / sshd_config
Upang mai-edit ang paggamit ng file ng pagsasaayos: vi / etc / ssh / sshd_config o nano / etc / ssh / sshd_config

Pagkatapos i-edit ang anumang file, gamitin CTRL + X at pindutin ang Y key upang mai-save at lumabas ito (nano editor)

Ang SSH port ay maaaring mabago mula sa config file, ang default port ay 22. Ang pangunahing mga utos, pusa, vi at nano ay gagana rin para sa iba pang mga bagay. Upang matuto nang higit pa tungkol sa mga utos na partikular, gamitin ang Google Search.

Kung gumawa ka ng anumang mga pagbabago sa anumang file ng pagsasaayos, pagkatapos ay kinakailangan ng isang pag-restart para sa serbisyong iyon. Sa paglipat pa, ipagpalagay nating nais na nating baguhin ang aming port, kaya ang gagawin natin ay i-edit ang sshd_config file, at gagamitin ko

nano / etc / ssh / sshd_config

port-ssh

Dapat kang naka-log in bilang admin, o gamitin sudo nano / etc / ssh / sshd_config upang mai-edit ang file. Matapos itong mai-edit, i-restart ang ssh service, sudo /etc/init.d/ssh restart

Kung binabago mo ang isang port, siguraduhing payagan ito sa iyong IPTABLES, kung gumagamit ka ng default na firewall.

iptables -ako INPUT -p tcp –dport 5000 -j ACCEPT
/etc/rc.d/init.d/iptables makatipid

Tanungin ang mga iptable upang kumpirmahin kung bukas ang port
iptables -nL | grep 5000

Mayroong maraming mga direktiba sa file ng pagsasaayos, tulad ng tinalakay nang mas maaga, mayroong dalawang mga protokol para sa SSH (1 & 2). Kung nakatakda ito sa 1, palitan ito ng 2.

Nasa ibaba ang isang piraso ng aking file sa pagsasaayos:

# Nabuo ang file ng pagsasaayos
# Tingnan ang sshd_config (5) manpage para sa mga detalye

# Ano ang mga port, IP at protokol na nakikinig sa amin
Port 5000 pinalitan ang bilang 22 ng port
# Gumamit ng mga pagpipiliang ito upang paghigpitan kung aling mga interface / mga proteksyon ang sshd ay magbubuklod sa
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol Pinalitan ng 2 ang protokol 1 ng 2

huwag kalimutang i-restart ang serbisyo pagkatapos gumawa ng mga pagbabago

Ang Root ay ang administrator, at inirerekumenda na dapat itong hindi paganahin, kung hindi man kung bukas ka sa mga malalayong koneksyon, maaari kang maging isang paksa ng isang brute force na atake o iba pang mga kahinaan sa ssh - Ang mga server ng Linux, ang pinakamamahal na kahon ng mga hacker, ang direktiba LoginGraceTime , nagtatakda ng isang limitasyon sa oras para mag-login at patunayan ng gumagamit, kung hindi gumagamit ang gumagamit, pagkatapos magsasara ang koneksyon - iwanan iyon sa default.

# Pagpapatotoo:
LoginGraceTime 120
PermitRootLogin blg
StrictModes oo

Isang sobrang cool na tampok, ay ang Key pagpapatotoo (PubkeyAuthentication) - Pinapayagan ka ng tampok na ito na mag-setup lamang ng pangunahing batay sa pagpapatotoo, tulad ng nakikita namin sa mga server ng Amazon EC3. Maaari mo lamang ma-access ang server gamit ang iyong pribadong key, ito ay lubos na ligtas. Upang gumana ito, kakailanganin mong makabuo ng isang key pares at idagdag ang pribadong key sa iyong remote machine, at idagdag ang pampublikong key sa server upang ma-access ito gamit ang key na iyon.

PubkeyAuthentication oo
AuthorisedKeysFile .ssh /uthor__skeys
RSAAuthentication oo
Ang PasswordAuthentication no

Tatanggihan nito ang anumang password, at papayagan lamang ang mga gumagamit na mag-access gamit ang isang key.

Sa isang propesyonal na network, karaniwang ipapaalam mo sa iyong mga gumagamit kung ano ang pinapayagan nilang gawin at kung ano ang hindi, at anumang iba pang kinakailangang impormasyon

Ang file ng pagsasaayos upang mai-edit para sa mga banner ay: / etc / motd
Upang buksan ang file sa editor, i-type: nano / etc / motd o sudo / etc / motd

I-edit ang file, tulad ng gagawin mo sa notepad.

Maaari mo ring ilagay ang banner sa isang file at i-refer ito sa / etc / motd

hal: nano banner.txt lilikha ng isang banner.txt file at agad na bubuksan ang editor.

I-edit ang banner, at ctrl + x / y upang mai-save ito. Pagkatapos, i-refer ito sa motd file na ginagamit

Banner /home/users/appualscom/banner.txt O anuman, ang file path ay.

Tulad ng banner, maaari ka ring magdagdag ng isang mensahe bago ang prompt ng pag-login, ang file para sa pag-edit ay / etc / isyu

SSH Tunneling

Pinapayagan ka ng SSH Tunneling na mai-tunnel ang trapiko mula sa iyong lokal na makina sa isang remote machine. Nilikha ito sa pamamagitan ng mga SSH protocol at naka-encrypt. Suriin ang artikulo sa SSH Tunneling

Session na Grapiko Sa SSH Tunnel

Paganahin ang session ng grapiko / gui sa pamamagitan ng pag-aalis ng hindi sumusunod na linya
X11Forwarding oo

Sa pagtatapos ng kliyente ang utos ay:
ssh -X root@10.10.10.111

Maaari kang magpatakbo ng programa tulad ng firefox, atbp sa pamamagitan ng paggamit ng mga simpleng utos:
firefox

Kung nakakuha ka ng isang error sa pagpapakita, pagkatapos ay itakda ang address:
i-export ang DISPLAY = IPaddressofmachine: 0.0

Mga TCP Wrappers

Kung nais mong payagan ang mga napiling host at tanggihan ang ilan, kung gayon ito ang mga file na kailangan mong i-edit

1. /etc/hosts.allow
2. /etc/hosts.deny

Upang payagan ang ilang mga host

sshd: 10.10.10.111

Upang harangan ang lahat mula sa pag-opt in sa iyong server, idagdag ang sumusunod na linya sa /etc/hosts.deny
sshd: LAHAT

SCP - Secure na Kopya

SCP - ang secure na kopya ay isang file transfer utility. Kakailanganin mong gamitin ang sumusunod na utos upang kopyahin / ilipat ang mga file sa ssh.

ang utos sa ibaba ay kokopya ang myfile sa / home / user2 sa 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
syntax ng patutunguhan ng pinagmulan ng scp

Upang makopya ang isang folder
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

Paghahanap Para sa Mga File Sa Isang Remote Machine

Napakadali maghanap ng mga file sa isang remote machine at tingnan ang output sa iyong system. Upang maghanap ng mga file sa isang remote machine

ssh root@10.10.10.111 'hanapin / bahay / gumagamit –pangalan ng '* .jpg''

Hahanapin ng utos ang direktoryo sa / bahay / gumagamit para sa lahat ng * .jpg na mga file, maaari mo itong i-play. hahanapin ng / -name ang buong direktoryo / root.

Karagdagang Seguridad ng SSH

Pinapayagan ka ng iptables na magtakda ng mga limitasyon batay sa oras. Ang mga utos sa ibaba ay hahadlangan ang gumagamit ng 120 segundo kung nabigo silang patunayan. Maaari mong gamitin ang / segundo / oras / minuto o / araw na parameter sa utos na tukuyin ang panahon ..

Mga Limitasyong Batay sa Oras
iptables -A INPUT -p tcp -m estado –syn –state BAGONG –dport 22 -m limitasyon –limit 120 / segundo –limit-burst 1 -j ACCEPT

iptables -A INPUT -p tcp -m state –syn –state BAGONG –dport 5000 -j DROP

5000 ang port, baguhin ito alinsunod sa iyong mga setting .

Pinapayagan ang pagpapatotoo mula sa isang tukoy na IP
iptables -A INPUT -p tcp -m estado –state BAGONG –source 10.10.10.111 –port 22 -j ACCEPT

Iba pang mga kapaki-pakinabang na utos

Maglakip ng isang screen sa ibabaw ng SSH
ssh -t root@10.10.10.111 screen –r
SSH Transfer Speed ​​Check
oo | pv | ssh $root@10.10.10.111 “pusa> / dev / null”

Mga tag ssh SSH Tunneling Basahin ang 4 na minuto