Android

Utos ng Ssh

Ika-6 Na Utos | Full Episode 102

Ika-6 Na Utos | Full Episode 102

Talaan ng mga Nilalaman:

Anonim

Ang Secure Shell (SSH) ay isang protocol ng network ng cryptographic na ginamit para sa isang naka-encrypt na koneksyon sa pagitan ng isang kliyente at isang server. Lumilikha ang ssh client ng isang ligtas na koneksyon sa SSH server sa isang malayong makina. Ang naka-encrypt na koneksyon ay maaaring magamit upang magsagawa ng mga utos sa server, X11 tunneling, pagpapasa ng port, at higit pa.

Mayroong isang bilang ng mga kliyente ng SSH na magagamit ng parehong libre at komersyal, kasama ang OpenSSH bilang pinaka malawak na ginagamit na kliyente. Magagamit ito sa lahat ng mga pangunahing platform, kabilang ang Linux, OpenBSD, Windows, macOS at iba pa.

, ipapaliwanag namin kung paano gamitin ang OpenSSH command-line client ( ssh ) upang mag-login sa isang malayong makina at magpapatakbo ng mga utos o magsagawa ng iba pang mga operasyon.

Pag-install ng OpenSSH Client

Ang programa ng kliyente ng OpenSSH ay tinatawag na ssh at maaaring mai-invoke mula sa terminal. Nagbibigay din ang package ng OpenSSH client ng iba pang mga SSH utility tulad ng scp at sftp na naka-install kasama ang utos ng ssh .

Pag-install ng OpenSSH Client sa Linux

Ang OpenSSH client ay na-install sa karamihan ng mga pamamahagi ng Linux sa pamamagitan ng default. Kung ang iyong system ay walang naka-install na ssh client, maaari mo itong mai-install gamit ang package manager ng iyong pamamahagi.

Ang pag-install ng OpenSSH sa Ubuntu at Debian

sudo apt update sudo apt install openssh-client

Ang pag-install ng OpenSSH sa CentOS at Fedora

sudo dnf install openssh-clients

Pag-install ng OpenSSH Client sa Windows 10

Karamihan sa mga gumagamit ng Windows ay gumagamit ng Putty upang kumonekta sa isang malayong makina sa SSH. Gayunpaman, ang pinakabagong mga bersyon ng Windows 10 ay may kasamang isang OpenSSH client at server. Ang parehong mga pakete ay maaaring mai-install sa pamamagitan ng GUI o PowerShell.

Upang mahanap ang eksaktong pangalan ng package ng OpenSSH, i-type ang sumusunod na utos:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Ang utos ay dapat ibalik ang isang bagay tulad nito:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Kapag alam mo na ang pangalan ng package ay i-install ito sa pamamagitan ng pagpapatakbo:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Sa tagumpay ang output ay magmukhang isang bagay tulad nito:

Path: Online: True RestartNeeded: False

Pag-install ng OpenSSH Client sa macOS

macOS ship kasama ang OpenSSH client na naka-install nang default.

Paano Gamitin ang ssh Command

Ang mga sumusunod na kinakailangan ay dapat matugunan upang mag-login sa isang malayong makina sa pamamagitan ng SSH:

  • Ang isang SSH server ay dapat na tumatakbo sa remote machine.Ang SSH port ay dapat na bukas sa remote machine firewall. Dapat mong malaman ang username at ang password ng remote account. Ang account ay kailangang magkaroon ng wastong pribilehiyo para sa malayong pag-login.

Ang pangunahing syntax ng ssh utos ay ang mga sumusunod:

ssh:HOST

Upang magamit ang ssh utos buksan ang iyong Terminal o PowerShell at i-type ang ssh sinusundan ng remote hostname:

ssh ssh.linuxize.com

Kapag kumonekta ka sa isang malayong makina sa pamamagitan ng SSH sa unang pagkakataon, makakakita ka ng isang mensahe tulad ng sa ibaba.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Ang bawat host ay may natatanging fingerprint na naka-imbak sa ~/.ssh/known_hosts file.

I-type ang yes upang maiimbak ang malayong fingerprint, at sasabihan ka upang ipasok ang iyong password.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

Kapag ipinasok mo ang password, mai-log in ka sa makina ng remote.

Kapag ang username ay hindi ibinigay, ang ssh utos ay gumagamit ng kasalukuyang pangalan ng pag-login sa system.

Upang mag-log in bilang ibang gumagamit, tukuyin ang username at host sa sumusunod na format:

ssh username@hostname

Maaari ring tukuyin ang username na may pagpipilian na -l :

ssh -l username hostname

Bilang default, kapag walang ibinigay na port, susubukan ng kliyente ng SSH na kumonekta sa malayong server sa port 22. Sa ilang mga server, binabago ng mga administrador ang default na SSH port upang magdagdag ng isang dagdag na layer ng seguridad sa server sa pamamagitan ng pagbabawas ng panganib ng awtomatikong pag-atake.

Upang kumonekta sa isang hindi default na port, gamitin ang pagpipilian na -p upang tukuyin ang port:

ssh -p 5522 username@hostname

ssh -v username@hostname

Upang madagdagan ang antas ng talasalitaan, gamitin ang -vv o -vvv .

Tumatanggap ang utos ng ssh isang bilang ng mga pagpipilian.

Para sa isang kumpletong listahan ng lahat ng mga pagpipilian basahin ang pahina ng man ssh sa pamamagitan ng pag-type ng man ssh sa iyong terminal.

SSH I-configure ang File

Nabasa ng OpenSSH client ang mga pagpipilian na itinakda sa per-user na file ng pagsasaayos ( ~/.ssh/config ). Sa file na ito, maaari kang mag-imbak ng iba't ibang mga pagpipilian sa SSH para sa bawat malayong makina na kumonekta ka.

Ang isang sample na SSH config ay ipinapakita sa ibaba:

Host dev HostName dev.linuxize.com User mike Port 4422

Kapag inanyayahan mo ang ssh client sa pamamagitan ng pag-type ng ssh dev ay babasahin ng utos ang ~/.ssh/config file at gagamitin ang mga detalye ng koneksyon na tinukoy para sa host ng dev. Sa halimbawang ito, ang ssh dev ay katumbas ng mga sumusunod:

ssh -p 4422 [email protected]

Para sa karagdagang impormasyon, suriin ang artikulo sa file ng SSH config.

Public Key Authentication

Sinusuportahan ng protocol ng SSH ang iba't ibang mga mekanismo ng pagpapatunay.

Pinapayagan ka ng pampublikong key-based na mekanismo ng pagpapatunay na mag-log in sa malayong server nang hindi kinakailangang i-type ang iyong password.

Ang pamamaraang ito ay gumagana sa pamamagitan ng pagbuo ng isang pares ng mga cryptographic key na ginagamit para sa pagpapatunay. Ang pribadong key ay naka-imbak sa aparato ng kliyente, at ang pampublikong susi ay inilipat sa bawat malayuang server na nais mong mag-log in. Ang naka-configure na server ay dapat na ma-configure upang tanggapin ang key authentication.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Hihilingin kang mag-type ng isang ligtas na passphrase. Kung nais mong gumamit ng passphrase nasa iyo ito.

Kapag mayroon kang key key, kopyahin ang pampublikong susi sa remote server:

ssh-copy-id username@hostname

Ipasok ang malayuang password ng gumagamit, at ang pampublikong susi ay idaragdag sa malayong file na authorized_keys file.

Kapag na-upload ang key, maaari kang mag-log in sa remote na server nang hindi sinenyasan para sa isang password.

Sa pamamagitan ng pagtatakda ng isang pagpapatunay na batay sa key, maaari mong gawing simple ang proseso ng pag-login at dagdagan ang pangkalahatang seguridad ng server.

Pagpapasa ng Port

Ang SSH tunneling o pagpapasa ng SSH port ay isang paraan ng paglikha ng isang naka-encrypt na koneksyon ng SSH sa pagitan ng isang kliyente at isang server machine kung saan maaaring ma-relay ang mga serbisyo ng port.

Ang pagpasa ng SSH ay kapaki-pakinabang para sa transportasyon ng data ng network ng mga serbisyo na gumagamit ng isang hindi naka-encrypt na protocol, tulad ng VNC o FTP, pag-access sa nilalaman ng geo-restricted o bypassing intermediate firewall. Karaniwan, maaari mong ipasa ang anumang TCP port at lagusan ang trapiko sa isang ligtas na koneksyon sa SSH.

Mayroong tatlong uri ng pagpapadala ng SSH port:

Lokal na Port Pagpapasa

Pinapayagan ka ng lokal na pagpapadala ng port sa iyo upang maipasa ang isang koneksyon mula sa host ng kliyente sa host ng SSH server at pagkatapos ay sa patutunguhan ng host port.

Upang lumikha ng isang lokal na port pagpasa ipasa ang -L pagpipilian sa ssh client:

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Ang pagpipilian na -f ay nagsasabi sa utos ng ssh na tumakbo sa background at -N hindi upang magsagawa ng isang malayong utos.

Remote Port Pagpapasa

Ang pagpapalayo ng malayong port ay kabaligtaran ng pagpapasa ng lokal na port. Nagpapasa ito ng isang port mula sa server ng server sa host ng kliyente at pagkatapos ay sa patutunguhan ng port ng host.

Ang opsyon na -L nagsasabi sa ssh na lumikha ng isang malayuang port pasulong:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

Pagpaparami ng Port

Ang paglipat ng dinamikong port ay lumilikha ng isang server ng SOCKS proxy na nagbibigay-daan sa komunikasyon sa isang hanay ng mga port.

Upang lumikha ng isang pabago-bagong port na pagpapasa (SOCKS) ipasa ang -D opsyon sa ssh client:

ssh -D LOCAL_PORT -N -f username@hostname

Para sa mas detalyadong impormasyon at hakbang-hakbang na pagtuturo, suriin ang artikulo sa Paano Mag-set up ng SSH Tunneling (Port Pagpasa).

Konklusyon

Upang kumonekta sa isang malayuang server sa pamamagitan ng SSH gamitin ang utos ng ssh sinusundan ng malayuang username at hostname ( ssh username@hostname ).

Ang pag-alam kung paano gamitin ang utos ng ssh ay isang mahalaga para sa pamamahala ng malayong server.

ssh terminal