I-configure ang SSH para sa pag-access ng walang password

SSH

SSH, o Secure Shell, ay isang ligtas na shell na ginagamit para sa malayuang pag-access mula sa lahat ng uri ng mga aparato sa mga server, sa pamamagitan ng isang tunnelled channel at protektado ng pag-encrypt, na nagbibigay dito ng isang seguridad na pumipigil, o hindi bababa sa ginagawang labis na paghihirap, na maaaring maharang ng mga third party ang username o password. Sa kaso ng * Nix, mayroon kaming magagamit na protocol na ito sa pamamagitan ng OpenSSH, isang hanay ng mga solusyon sa client-server na magagamit sa lahat ng pamamahagi ng Linux at mga kaugnay na platform tulad ng * BSD.

Ngayon, kung ang SSH ay nag-aalok sa amin ng isang mahusay na antas ng seguridad, bakit nais naming gamitin ito nang hindi na kailangang maglagay ng isang password? Maaaring may maraming mga kadahilanan, ngunit ang isa na karaniwang tumatayo bilang generator ay ang pangangailangan na mag-log in mula sa malayo sa pamamagitan ng mga script at magsagawa ng mga gawain ng superuser, at ito ay na alam nating hindi maipapayo na ilagay ang data sa anumang script. Upang malutas ang problemang ito ay makikita natin kung paano makabuo ng mga susi ng SSH upang makapag-log in mula sa malayo nang hindi nangangailangan ng isang password.

Kailangan ito sa amin bumuo ng isang pampublikong key at isang pribadong key: ang una ay maiimbak sa server kung saan tayo ay mag-a-access at bilang pangalan nito ay nagpapahiwatig na maaari naming ipadala o ibahagi ito, at ang pangalawa ay maiimbak sa aparato (computer, smartphone, tablet) kung saan tayo pupunta i-access ang sinabi ng server, at dapat pinananatiling maingat at ginagamit lamang namin o ng mga taong pinagkakatiwalaan natin.

Dahil sa nabanggit sa nakaraang talata, mahalagang magbigay ng puna na ang ganitong uri ng solusyon ay nangangailangan ng napakahusay na responsibilidad sa pangangalaga ng mga aparato kung saan papasok kami sa isang server, at iyon ang sinumang may access sa ang mga ito ay magagawang ipasok ito nang hindi na kailangang malaman ang password, na kung saan ay isang napakalaking panganib sa seguridad. Nilinaw ito, tingnan natin kung paano tayo maaaring magsimula, at para dito ang unang bagay ay ang mai-install ang SSH daemon sa server:

# apt-get install openssh-server

Ngayon kailangan naming lumikha ng direktoryo ng .ssh sa direktoryo ng gumagamit:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# hawakan ang $ HOME / .ssh /uthor_keys

Ina-edit namin ang file / etc / ssh / sshd_config at pinatutunayan namin na ang mga sumusunod na linya ay tulad ng:

PubkeyAuthentication oo

AuthorisedKeysFile% h / .ssh /uthor_keys

Pumunta kami ngayon sa kliyente at isagawa:

ssh-keygen -t rsa

Sasabihin sa amin na ang susi ay nilikha, at hihilingin sa amin na ipasok ang file kung saan ito maiimbak (bilang default makikita ito sa aming tahanan, sa isang folder na tinatawag na /.ssh/id_rsa). Maaari naming pindutin ang Enter dahil ang lokasyon na iyon ay naglilingkod sa atin nang perpekto, at pagkatapos ay pinindot namin ang Enter muli sa dalawang beses na hiniling sa amin magpasok ng isang passphrase dahil, tandaan, papasok kami ng malayo nang hindi nagpapasok ng anumang data kaya't hindi rin namin nais ang anumang parirala.

Ngayon na mayroon kaming pampublikong susi, dapat namin itong ibahagi sa mga computer na kung saan tayo makakonekta. Ipagpalagay na ang server na pinag-uusapan natin ay may address na 192.168.1.100, ang dapat mong gawin ay:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Matapos ang pagkopya, yayain tayo gawin ang remote na pag-login upang subukan ang mga susi, at dapat isaalang-alang na sa kasong ito ugat Ito ang account kung saan mai-access natin ang server, kaya kung nais naming gawin ito sa ibang gumagamit dapat naming baguhin ang ugat para sa account ng gumagamit kung saan isasagawa namin ang pag-access sa pamamagitan ng SSH.

Ngayon ay kailangan lang nating i-restart ang SSH server upang tumagal ito ng bagong pagsasaayos:

# /etc/init.d/ssh restart

Mula ngayon, kung nais naming mag-access sa isang pangalawang server at gawin ito nang hindi nagpapasok ng isang password, kailangan lang naming ipadala ito sa publiko key, kung saan inuulit namin ang huling hakbang, binabago ang gumagamit at IP address kung kinakailangan:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   nagpapatuyo dijo

    Salamat sa impormasyon ngunit wala ... walang paraan .....
    Sinubukan ko ang buong umaga at palaging hinihiling nito ang aking password.
    Ilang oras ang nakalipas sinubukan ko at iniwan ko ito bilang imposible para sa parehong dahilan ....
    Lumilikha ako ng aking susi sa aking Macbook, kopyahin ito sa aking raspberry sa ~ / .ssh / authorisedKeys
    I-configure ko ang sshd.conf sa pampublikong pagpapatotoo at i-verify na ang direktoryo ng mga susi ay eksakto kung nasaan ang mga susi. I-restart ko ang raspberry at kapag kumokonekta tatanungin ulit ako ng password
    Ano ang maaaring mabigo?

    1.    nagpapatuyo dijo

      Matapos ang maraming oras na pagsubok sa maraming bagay, natuklasan ko na sa aking nilikha na gumagamit hindi ito gumagana, ngunit sa default na gumagamit na tinatawag na "ubuntu" gumagana ito sa unang pagkakataon.
      Anumang paglilinaw sa kung bakit ito maaaring mangyari?
      Pagbati at salamat