Konfigurasikan SSH untuk akses tanpa kata laluan

ssh

SSH, atau Secure Shell, adalah shell selamat yang digunakan untuk akses jarak jauh dari semua jenis peranti ke pelayan, melalui saluran terowong dan dilindungi oleh penyulitan, yang memberikannya keselamatan yang mencegah, atau setidaknya menjadikannya sangat sukar, pihak ketiga dapat memintas nama pengguna atau kata laluan. Dalam kes * Nix, kami menyediakan protokol ini melalui OpenSSH, satu set penyelesaian pelayan-pelanggan yang tersedia di semua distribusi Linux dan platform yang berkaitan seperti * BSD.

Sekarang, jika SSH menawarkan tahap keselamatan yang sangat baik, mengapa kita ingin menggunakannya tanpa perlu memasukkan kata laluan? Mungkin ada beberapa alasan, tetapi salah satu yang sering muncul sebagai penjana adalah keperluan untuk log masuk dari jarak jauh melalui skrip dan melakukan tugas superuser, dan memang seperti yang kita ketahui, tidak dianjurkan untuk meletakkan data tersebut dalam skrip apa pun. Untuk menyelesaikan masalah ini kita akan melihat bagaimana menghasilkan kunci SSH agar dapat log masuk dari jauh tanpa memerlukan kata laluan.

Ini memerlukan kita menghasilkan kunci awam dan kunci peribadi: yang pertama akan disimpan di pelayan yang akan kita akses dan seperti namanya menunjukkan kita dapat mengirim atau membaginya, dan yang kedua akan disimpan di peranti (komputer, telefon pintar, tablet) dari mana kita akan pergi akses pelayan tersebut, dan mesti disimpan dengan sangat berhati-hati dan hanya digunakan oleh kami atau oleh orang yang kami percayai.

Oleh kerana apa yang disebutkan dalam perenggan sebelumnya, adalah penting untuk memberi komen bahawa penyelesaian jenis ini memerlukan tanggungjawab yang sangat besar dalam menjaga peranti dari mana kita akan memasuki pelayan, dan itulah siapa sahaja yang mempunyai akses ke mereka boleh memasukkannya tanpa perlu mengetahui kata laluan, yang merupakan risiko keselamatan yang sangat besar. Dengan penjelasan ini, mari kita lihat bagaimana kita boleh memulakan, dan untuk ini perkara pertama adalah memasang daemon SSH di pelayan:

# apt-get install openssh-server

Sekarang kita harus membuat direktori .ssh di direktori pengguna:

# mkdir -p $ RUMAH / .ssh

# chmod 0700 $ RUMAH / .ssh

# sentuh $ HOME / .ssh / Author_keys

Kami mengedit fail / etc / ssh / sshd_config dan kami mengesahkan bahawa baris berikut adalah seperti berikut:

Pengesahan Pubkey ya

AuthorizedKeysFile% h / .ssh / Author_keys

Sekarang kita pergi ke klien dan melaksanakan:

ssh-keygen -t rsa

Kami akan diberitahu bahawa kuncinya sedang dibuat, dan kami akan diminta memasukkan fail di mana ia akan disimpan (secara lalai ia akan berada di rumah kami, dalam folder bernama /.ssh/id_rsa). Kami dapat menekan Enter kerana lokasi itu melayani kami dengan sempurna, dan kemudian kami menekan Enter sekali lagi dua kali kami diminta masukkan frasa laluan kerana, ingat, kita akan memasukkan jarak jauh tanpa memasukkan data sehingga kita juga tidak menginginkan frasa.

Sekarang kita mempunyai kunci awam, kita mesti membaginya dengan komputer yang akan kita sambungkan. Dengan mengandaikan bahawa pelayan yang kita bicarakan mempunyai alamat 192.168.1.100, apa yang harus anda lakukan ialah:

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

Selepas menyalin, kami akan dijemput untuk lakukan log masuk jauh untuk menguji kunci, dan mesti diambil kira bahawa dalam kes ini akar Ini adalah akaun yang akan kita akses ke pelayan, jadi jika kita ingin melakukannya dengan pengguna lain, kita mesti mengubah root untuk akaun pengguna yang akan kita laksanakan akses melalui SSH.

Sekarang kita hanya perlu memulakan semula pelayan SSH sehingga memerlukan konfigurasi baru:

# /etc/init.d/ssh mulakan semula

Mulai sekarang, jika kita ingin mengakses pelayan kedua dan melakukannya tanpa memasukkan kata laluan, kita hanya perlu mengirimkannya kunci awam, dengan mana kita hanya mengulangi langkah terakhir, mengubah alamat pengguna dan IP jika perlu:

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


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   pengeringan kata

    Terima kasih atas maklumatnya tetapi tidak ada… tidak mungkin….
    Saya telah mencuba sepanjang pagi dan selalu meminta kata laluan saya.
    Beberapa ketika yang lalu saya mencuba dan membiarkannya tidak mungkin kerana alasan yang sama….
    Saya membuat kunci saya di Macbook saya, menyalinnya ke raspberry saya di ~ / .ssh / Authorized Keys
    Saya mengkonfigurasi sshd.conf dengan pengesahan awam dan mengesahkan bahawa direktori kunci adalah tepat di mana kunci berada. Saya menghidupkan semula raspberry dan ketika menyambungkannya, saya meminta kata laluan sekali lagi
    Apa yang boleh gagal?

    1.    pengeringan kata

      Setelah beberapa jam mencuba banyak perkara, saya mendapati bahawa dengan pengguna yang saya buat tidak pernah berfungsi, tetapi dengan pengguna lalai yang dipanggil "ubuntu" ia berfungsi pada kali pertama.
      Apa-apa penjelasan mengapa ini boleh berlaku?
      Salam dan terima kasih