Konfigurasikan SSH untuk akses tanpa kata sandi

ssh

SSH, atau Secure Shell, adalah shell aman yang digunakan untuk file akses jarak jauh dari semua jenis perangkat ke server, melalui saluran terowongan dan dilindungi oleh enkripsi, yang memberikan keamanan yang mencegah, atau setidaknya membuatnya sangat sulit, bahwa pihak ketiga dapat mencegat nama pengguna atau kata sandi. Dalam kasus * Nix, kami memiliki protokol ini tersedia melalui OpenSSH, sekumpulan solusi klien-server yang tersedia di semua distribusi Linux dan platform terkait seperti * BSD.

Sekarang, jika SSH menawarkan tingkat keamanan yang sangat baik kepada kita, mengapa kita ingin menggunakannya tanpa perlu memasukkan kata sandi? Mungkin ada beberapa alasan, tetapi satu yang biasanya menonjol sebagai generator adalah kebutuhan untuk masuk dari jarak jauh melalui skrip dan melakukan tugas pengguna super, dan seperti yang kita ketahui bahwa tidak disarankan untuk memasukkan data itu ke dalam skrip apa pun. Untuk mengatasi masalah ini kita akan lihat cara menghasilkan kunci SSH agar dapat masuk dari jarak jauh tanpa perlu kata sandi.

Ini membutuhkan kita menghasilkan kunci publik dan kunci pribadi: yang pertama akan disimpan di server yang akan kita akses dan seperti yang ditunjukkan oleh namanya, kita dapat mengirim atau membagikannya, dan yang kedua akan disimpan di perangkat (komputer, smartphone, tablet) tempat kita akan pergi. mengakses server tersebut, dan harus disimpan dengan sangat hati-hati dan hanya digunakan oleh kami atau oleh orang yang kami percayai.

Karena apa yang disebutkan di paragraf sebelumnya, penting untuk berkomentar bahwa jenis solusi ini membutuhkan tanggung jawab yang sangat besar dalam perawatan perangkat dari mana kita akan masuk ke server, dan siapa pun yang memiliki akses ke mereka dapat memasukkannya tanpa perlu mengetahui kata sandinya, yang merupakan risiko keamanan yang sangat besar. Dengan klarifikasi ini, mari kita lihat bagaimana kita dapat memulai, dan untuk ini hal pertama adalah menginstal daemon SSH di server:

# apt-get install openssh-server

Sekarang kita harus membuat direktori .ssh di direktori pengguna:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ BERANDA / .ssh

# sentuh $ HOME / .ssh / authorized_keys

Kami mengedit file / etc / ssh / sshd_config dan kami memverifikasi bahwa baris berikut adalah apa adanya:

PubkeyAuthentication ya

AuthorizedKeysFile% h / .ssh / authorized_keys

Sekarang kita pergi ke klien dan menjalankan:

ssh-keygen -t rsa

Kita akan diberi tahu bahwa kunci sedang dibuat, dan kita akan diminta untuk memasukkan file yang akan disimpannya (secara default akan ada di rumah kita, dalam folder bernama /.ssh/id_rsa). Kami dapat menekan Enter karena lokasi itu melayani kami dengan sempurna, dan kemudian kami menekan Enter lagi dua kali kami diminta masukkan frasa sandi karena, ingat, kita akan masuk dari jarak jauh tanpa memasukkan data apapun jadi kita juga tidak menginginkan frase apapun.

Sekarang kita memiliki kunci publik, kita harus membaginya dengan komputer yang akan kita hubungkan. Dengan asumsi bahwa server yang kita bicarakan memiliki alamat 192.168.1.100, yang harus Anda lakukan adalah:

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

Setelah menyalin, kami akan diundang ke melakukan login jarak jauh untuk menguji kunci, dan itu harus diperhitungkan dalam kasus ini akar Ini adalah akun yang akan kita gunakan untuk mengakses server, jadi jika kita ingin melakukannya dengan pengguna lain, kita harus memodifikasi root untuk akun pengguna yang akan kita gunakan untuk melakukan akses melalui SSH.

Sekarang kita hanya perlu me-restart server SSH sehingga dibutuhkan konfigurasi baru:

# /etc/init.d/ssh mulai ulang

Mulai sekarang, jika kita ingin mengakses server kedua dan melakukannya tanpa memasukkan kata sandi, kita hanya perlu mengirimkannya kunci publik, yang dengannya kita cukup mengulangi langkah terakhir, mengubah pengguna dan alamat IP seperlunya:

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


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   pengering dijo

    Terima kasih atas infonya tapi tidak ada… tidak mungkin….
    Saya sudah mencoba sepanjang pagi dan selalu meminta kata sandi saya.
    Beberapa waktu yang lalu saya mencoba dan saya membiarkannya sebagai tidak mungkin karena alasan yang sama….
    Saya membuat kunci saya di Macbook saya, menyalinnya ke raspberry saya di ~ / .ssh / authorizedKeys
    Saya mengkonfigurasi sshd.conf dengan otentikasi publik dan memverifikasi bahwa direktori kunci berada tepat di mana kuncinya berada. Saya memulai ulang raspberry dan saat menghubungkannya meminta saya lagi untuk memasukkan kata sandi
    Apa yang bisa gagal?

    1.    pengering dijo

      Setelah beberapa jam mencoba banyak hal, saya menemukan bahwa dengan pengguna yang saya buat itu tidak pernah berfungsi, tetapi dengan pengguna default yang disebut "ubuntu" ini berfungsi pertama kali.
      Ada klarifikasi mengapa ini bisa terjadi?
      Saludos y gracias