Android

Gamit ang ssh config file

Creating and Using an ssh config file

Creating and Using an ssh config file

Talaan ng mga Nilalaman:

Anonim

Ang isang pagpipilian ay ang lumikha ng isang bash alyas para sa bawat malayuang koneksyon sa server. Gayunpaman, mayroong isa pang, mas mahusay, at mas simpleng solusyon sa problemang ito. Pinapayagan ka ng OpenSSH na mag-set up ng isang per-user na file ng pagsasaayos kung saan maaari kang mag-imbak ng iba't ibang mga pagpipilian sa SSH para sa bawat malayong makina na kumonekta ka.

Saklaw ng gabay na ito ang mga pangunahing kaalaman ng file ng pagsasaayos ng kliyente ng SSH at ipinapaliwanag ang ilan sa mga karaniwang mga pagpipilian sa pagsasaayos.

Mga kinakailangan

Ipinapalagay namin na gumagamit ka ng isang Linux o isang macOS system na naka-install ang kliyente ng OpenSSH.

Ang lokasyon ng SSH I-configure ang File

Ang OpenSSH client-side configuration file ay pinangalanan config , at ito ay naka-imbak sa .ssh direktoryo sa ilalim ng direktoryo ng bahay ng gumagamit.

Ang direktoryo ng ~/.ssh ay awtomatikong nilikha kapag ang gumagamit ay nagpapatakbo ng ssh utos sa unang pagkakataon. Kung ang direktoryo ay hindi umiiral sa iyong system, lumikha ito gamit ang utos sa ibaba:

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

Sa pamamagitan ng default ang SSH configuration file ay maaaring hindi umiiral kaya maaaring kailanganin mong likhain ito gamit ang touch command:

touch ~/.ssh/config

Ang file na ito ay dapat mabasa at mai-sulat lamang ng gumagamit, at hindi maa-access ng iba:

chmod 600 ~/.ssh/config

Ang istruktura at Mga pattern ng SSH I-configure ang File

Kinukuha ng SSH Config File ang sumusunod na istraktura:

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

Ang mga nilalaman ng file ng SSH client config ay naayos sa mga stanzas (mga seksyon). Ang bawat stanza ay nagsisimula sa Host directive at naglalaman ng mga tukoy na pagpipilian sa SSH na ginagamit kapag nagtatatag ng isang koneksyon sa malayong SSH server.

Hindi kinakailangan ang indentation ngunit inirerekumenda dahil pinapadali nitong mabasa ang file.

Ang Host direktiba ay maaaring maglaman ng isang pattern o isang listahan ng hiwalay ng mga whitespace. Ang bawat pattern ay maaaring maglaman ng zero o higit pang character na di-whitespace o isa sa mga sumusunod na mga detalye ng pattern:

  • * - Mga Tugma sa zero o higit pang mga character. Halimbawa, ang Host * tumutugma sa lahat ng mga host, habang 192.168.0.* Tumutugma sa mga host sa 192.168.0.0/24 subnet. ? - Tugma ng eksaktong isang character. Ang pattern, Host 10.10.0.? tumutugma sa lahat ng mga host sa 10.10.0. saklaw. ! - Kapag ginamit sa pagsisimula ng isang pattern, binabalewala nito ang tugma. Halimbawa, ang Host 10.10.0.* !10.10.0.5 tumutugma sa anumang host sa 10.10.0.0/24 subnet maliban sa 10.10.0.5 .

Binasa ng SSH client ang pagsasaayos ng talento ng pagsasaayos ng stanza, at kung higit sa isang pattern ang tumutugma, ang mga pagpipilian mula sa unang pagtutugma ng stanza ay nauna. Samakatuwid higit pang mga pagpapahayag ng host-tiyak na dapat ibigay sa simula ng file, at higit pang mga pangkalahatang overrides sa pagtatapos ng file.

Maaari kang makahanap ng isang buong listahan ng magagamit na mga pagpipilian sa ssh sa pamamagitan ng pag-type ng man ssh_config sa iyong terminal o sa pamamagitan ng pagbisita sa pahina ng tao na ssh_config.

Ang file ng SSH config ay binabasa din ng iba pang mga programa tulad ng scp , sftp , at rsync .

Halimbawa ng File ng SSH I-configure

Ngayon na natakpan namin ang pangunahing ng file ng pagsasaayos ng SSH, tingnan natin ang sumusunod na halimbawa.

Karaniwan, kapag kumokonekta sa isang malayuang server sa pamamagitan ng SSH ay tinukoy mo ang malayong pangalan ng user, hostname, at port. Halimbawa, upang mag-log in bilang isang gumagamit na nagngangalang john sa isang host na tinatawag na dev.example.com sa port 2322 mula sa linya ng utos, mag-type ka:

ssh [email protected] -p 2322

Upang kumonekta sa server gamit ang parehong mga pagpipilian tulad ng ibinigay sa utos sa itaas sa pamamagitan lamang ng pag-type ng ssh dev , ilagay ang mga sumusunod na linya sa iyong "~/.ssh/config file:

~ /.ssh / config

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

Ngayon kapag nagta-type ka ng ssh dev , babasahin ng ssh client ang file ng pagsasaayos at gagamitin ang mga detalye ng koneksyon na tinukoy para sa dev host:

ssh dev

Nakabahaging SSH Config Halimbawa ng File

Ang halimbawang ito ay nagbibigay ng mas detalyadong impormasyon tungkol sa mga pattern ng host at pasiya ng pagpipilian.

Alisin natin ang sumusunod na halimbawa ng file:

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

  • Kapag nagta-type ka ng ssh targaryen , ssh targaryen ng ssh client ang file at inilalapat ang mga pagpipilian mula sa unang tugma, na Host targaryen . Pagkatapos ay sinuri nito ang susunod na mga stanzas nang paisa-isa para sa isang pagtutugma na pattern. Ang susunod na tumutugma sa isa ay ang Host * !martell (nangangahulugang lahat ng mga host maliban sa martell ), at ilalapat nito ang pagpipilian ng koneksyon mula sa stanza na ito. Ang huling kahulugan ng Host * ay tumutugma din, ngunit ang ssh client ay kukuha lamang ng pagpipilian ng Compression dahil ang pagpipilian ng User ay natukoy na sa Host targaryen stanza.

    Ang buong listahan ng mga pagpipilian na ginamit kapag nagta-type ka ng ssh targaryen ay ang mga sumusunod:

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

    Kapag nagpapatakbo ng ssh tyrell ang mga pattern ng pagtutugma ng host ay: Host tyrell , Host *ell , Host * !martell at Host * . Ang mga pagpipilian na ginamit sa kasong ito ay:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    Para sa lahat ng iba pang mga koneksyon, gagamitin ng ssh client ang mga opsyon na tinukoy sa Host * !martell at Host * seksyon.

I-override ang Opsyon ng File ng SSH

Binasa ng ssh client ang pagsasaayos nito sa sumusunod na pagkakasunud-sunod ng naunang:

  1. Mga pagpipilian na tinukoy mula sa command line.Options na tinukoy sa ~/.ssh/config .Options na tinukoy sa /etc/ssh/ssh_config .

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

at nais mong gamitin ang lahat ng iba pang mga pagpipilian ngunit upang kumonekta bilang root gumagamit sa halip na john sadyang tukuyin ang gumagamit sa linya ng utos:

ssh -o "User=root" dev

Ang opsyon na -F ( configfile ) ay nagbibigay-daan sa iyo upang tukuyin ang isang alternatibong file ng pagsasaayos ng bawat gumagamit.

Upang sabihin sa kliyente ng ssh na huwag pansinin ang lahat ng mga opsyon na tinukoy sa ssh config file, gamitin:

ssh -F /dev/null [email protected]

Konklusyon

Ipinakita namin sa iyo kung paano paano i-configure ang iyong ssh config file ng gumagamit. Maaaring gusto mo ring mag-set up ng isang pagpapatunay na batay sa SSH key at kumonekta sa iyong Linux server nang hindi pumapasok sa isang password.

Bilang default, nakikinig ang SSH sa port 22. Ang pagbabago ng default na SSH port ay nagdaragdag ng isang karagdagang layer ng seguridad sa iyong server sa pamamagitan ng pagbabawas ng panganib ng awtomatikong pag-atake.

ssh terminal