Akses SSH menggunakan kunci RSA

Sebuah instruksi kecil tentang mengatur akses SSH ke server Linux jarak jauh. Ingat bahwa metode standar otentikasi pengguna pada server Unix (Linux, FreeBSD) ketika mengakses melalui SSH adalah pasangan login dan kata sandi. Tetapi memasuki mereka tidak selalu nyaman, terutama jika ada banyak server seperti itu. Ada alternatif untuk jenis akses ini - mengatur akses SSH menggunakan sepasang kunci RSA (publik dan pribadi) dan frasa sandi (yang, pada umumnya, opsional).

Pada artikel ini, kami akan mempertimbangkan penggunaan jenis akses ini, yang dapat diimplementasikan menggunakan salah satu program paling populer untuk mengerjakan SSH   - Putty.

Untuk bekerja, kita memerlukan utilitas berikut dari keluarga Putty:

  • puttygen.exe - paket pembuatan pasangan kunci
  • putty.exe - terminal ssh itu sendiri
  • pscp.exe - utilitas menyalin file scp

Hasilkan sepasang kunci RSA

Untuk melakukan ini, jalankan utilitas Puttygen, pastikan bahwa jenis kuncinya adalah "SSH-2 RSA"Dan tekan tombolnya"Hasilkan".

Setelah itu, pembuatan pasangan kunci dimulai, dan untuk menghasilkan urutan acak, Anda perlu menyeret mouse secara acak di sekitar bilah kemajuan.

Di lapangan "Komentar kunci" Anda dapat menentukan deskripsi kunci (ini akan ditampilkan selama otentikasi kunci).

Di lapangan "Frasa sandi utama" dan "Konfirmasikan frasa sandi" menentukan kata sandi untuk mengaktifkan kunci (akan diminta saat menghubungkan). Jika Anda tidak menetapkan kata sandi, maka koneksi akan dilakukan tanpa kata sandi: itu sangat nyaman, tetapi tidak terlalu aman, karena untuk mengakses server, penyerang hanya perlu mencuri file dengan kunci pribadi Anda dari Anda (itulah sebabnya disarankan untuk menjaga rahasia kunci pribadi: pada drive USB eksternal, volume terenkripsi, dll.).

Lalu kami menekan tombolSimpan kunci publik"Dan"Simpan kunci pribadi"Dan simpan kunci publik dan pribadi, masing-masing, dalam file dengan nama, misalnya:"public.key"Dan"private.ppk".

Konfigurasikan kunci publik di server Linux.

File Kunci Publik "public.key»Perlu disalin ke server Linux yang Anda rencanakan untuk terhubung. Untuk melakukan ini, gunakan utilitas pscp.exe. Perintah file copy akan terlihat seperti ini:

pscp c: \ key \ public.key [email protected]: / tmp / foo

Selanjutnya, kunci yang disalin harus ditempatkan di direktori home pengguna di file ~ / .ssh / otor_keys .

Untuk melakukan ini, buka server melalui SSH (seperti biasa) dan jalankan perintah berikut:

$ ssh-keygen -i -f /tmp/foo/public.key >> /home/myuser/.ssh/authorized_keys

dimana pengguna saya, nama pengguna yang akan diizinkan masuk menggunakan kunci ini.

Juga, jangan lupa untuk memastikan bahwa otorisasi kunci diaktifkan di server. Untuk melakukan ini, baris berikut harus dihapus komentarnya di file / etc / ssh / sshd_config:

Otentikasi RSA ya
PubkeyAuthentication ya
AuthorizedKeysFile .ssh / otor_keys

Kami terhubung melalui SSH menggunakan kunci

Kami mulai Putty dan di sisi kiri layar pergi ke Connections -> SSH -> Auth.

Temukan garis "Pribadi kunci file untuk otentikasi », maka Anda perlu mengklik tombol "Browse" dan tentukan file kami dengan kunci pribadi "private.ppk".
Kemudian, pada tab utama, tentukan nama / alamat ip server Linux kami dan mulai koneksi. Setelah itu sistem seperti biasa akan meminta Anda untuk menentukan login, dan kemudian frasa sandi kunci (jika sudah ditentukan). Jika frasa sandi tidak ditentukan, konsol server akan terbuka tanpa kata sandi.
Agar tidak masuk ke pengaturan Auth dan menentukan file kunci di setiap koneksi, Anda dapat menyimpan pengaturan, untuk ini ada tombol Simpan (simpan pengaturan Putty) dan Load (memuat pengaturan) di tab utama. Semua pengaturan Putty yang disimpan disimpan dalam registri, sehingga Anda pada dasarnya dapat mentransfernya dari satu komputer ke komputer lain hanya dengan mengekspor / mengimpor sepotong registri (untuk lebih jelasnya, lihat artikel Mentransfer Pengaturan Putty).

Selain itu, agar tidak memasukkan nama pengguna secara manual setiap kali, login pengguna juga dapat disimpan di Putty (Connection \ Data \ Auto-login username).

Jika itu tidak berhasil, kami menganalisis log /var/log/auth.log di server.