GNU/Linux >> Belajar Linux >  >> Linux

Panduan Komprehensif untuk pengaturan otentikasi berbasis Kunci SSH2

Sebelumnya saya sudah menjelaskan cara Melakukan SSH dan SCP tanpa memasukkan password pada openSSH. Dalam artikel ini, saya akan menjelaskan cara menyiapkan otentikasi berbasis kunci di SSH2 dan lakukan SSH/SCP tanpa memasukkan kata sandi menggunakan 10 langkah berikut.
1. Verifikasi bahwa host lokal dan host jarak jauh menjalankan SSH2. Harap dicatat bahwa ssh dan scp adalah tautan simbolis ke ssh2 dan scp2 masing-masing seperti yang ditunjukkan di bawah ini.

[local-host]$ ls -l /usr/local/bin/ssh /usr/local/bin/scp
lrwxrwxrwx  1 root root 4 Mar 10 22:04 /usr/local/bin/scp -> scp2
lrwxrwxrwx  1 root root 4 Mar 10 22:04 /usr/local/bin/ssh -> ssh2
[local-host]$ ssh -V
ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu

[remote-host]$ ls -l /usr/local/bin/ssh /usr/local/bin/scp
lrwxrwxrwx  1 root root 4 Mar 10 22:04 /usr/local/bin/scp -> scp2
lrwxrwxrwx  1 root root 4 Mar 10 22:04 /usr/local/bin/ssh -> ssh2
[remote-host]$ ssh -V
ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu


2. Buat pasangan kunci pada host lokal menggunakan ssh-keygen2. Biasanya ssh-keygen akan menjadi tautan lunak ke ssh-keygen2 seperti yang ditunjukkan di bawah ini.

[local-host]$ ls -l /usr/local/bin/ssh-keygen
lrwxrwxrwx  1 root root 11 Mar 10 22:04 /usr/local/bin/ssh-keygen -> ssh-keygen2

[local-host]$ ssh-keygen
Generating 2048-bit dsa key pair
2 oOo.oOo.oOo.
Key generated.
2048-bit dsa, jsmith@local-host, Sat Jun 21 2008 23:10:20 -0700
Passphrase :<Enter the passphrase>
Again      :
Private key saved to /home/jsmith/.ssh2/id_dsa_2048_b
Public key saved to /home/jsmith/.ssh2/id_dsa_2048_b.pub

Kunci publik dan kunci pribadi disimpan di folder .ssh2 di bawah direktori home Anda. Dalam contoh ini, berada di bawah /home/jsmith/.ssh2. Anda tidak boleh membagikan kunci pribadi dengan siapa pun.

Secara default ssh-keygen2 menghasilkan pasangan kunci DSA. Anda juga dapat membuat pasangan kunci RSA menggunakan:ssh-keygen -t rsa perintah.
3. Berikan izin yang tepat ke direktori .ssh2 seperti yang ditunjukkan di bawah ini.

[local-host]$ chmod 755 ~/.ssh2/
[local-host]$ chmod 644 ~/.ssh2/id_dsa_2048_b.pub
[local-host]$ chmod 644 ~/.ssh2/authorization

4. Identifikasi kunci pribadi pada mesin klien. Pada host lokal, tambahkan kunci pribadi ke file identifikasi SSH2 seperti yang ditunjukkan di bawah ini. Jika file identifikasi tidak ada, buat file baru. Jika file ada, tambahkan nama file kunci pribadi yang dihasilkan dari langkah di atas ke file identifikasi di “IdKey {nama file kunci pribadi} ” format seperti yang ditunjukkan di bawah ini.

[local-host]$ cat /home/jsmith/.ssh2/identification
IdKey id_dsa_2048_a
IdKey id_dsa_2048_b

5. Salin kunci publik ke host jarak jauh.

Salin file /home/jsmith/.ssh2/id_dsa_2048_b.pub dari local-host ke remote-host /home/jsmith/.ssh2/id_dsa_2048_b.pub. Anda dapat melakukan vi /home/jsmith/.ssh2/id_dsa_2048_b.pub pada host jarak jauh dan menyalin konten kunci publik dari host lokal.

[remote-host]$ cat /home/jsmith/.ssh2/id_dsa_2048_b.pub
---- BEGIN SSH2 PUBLIC KEY ----
Subject: jsmith
Comment: "2048-bit dsa, jsmith@local-host, Sat Jun 21 2008 23:10:\
20 -0700"
BCDEB3NzaC1kc3MAAAEBAMNH6MnHGNzNcuXWuQrGljZsObQq5SknOpLOreXq2GVeSIspX0
S1q7W63VGVDBD9ZVvZzg3UhzsPp6m/WPS53QAxlpQvTLCepipl1LILeOZRnYw+xXzEGgqa
HggXhTy7Z1BMtB1dSlXT2Q1gdvRkvZ0hmlMXH0ktj7U81lKEkzYj8E/E1PZIJsBHAXbYms
q7ftNTd7Gf1mSfbWIG7NIyOZ4i2qSZpQayuvB3MFQXy8lz25NGVq18zoFV4THtzV6ABvHL
IJXEObZUgdUXJXQg49oeXvE6tyaqSUU7tUbp06ZgI/BcFGmbk9FDoC5gy30S5RBPpAJ5II
vsfksnJRt+8R0AAAAVAJcTY6u2Em0Eo5I7X6yL1W+Di+rpAAABAELiJqtn2flgjA926TQk

3af14zSGFHut5kZjsMKUf+3Jj3p5MTiWVglgwWYLXcrG258l5GVPzdgF2d7Z9Bu1RUsdBo
rU5LURvF1cZqC5V+9PD6hlH1iYuULUIbAaIfH6SXuk2KwQ/pEh1Q+lXUj6cCfLwe+yLcvZ
YKLGdi2MvurUKmVRik3RpaB9wcuKbLjkp1rFZGr9skDAc2hYfpM0uF+6UEz6LXWKIvLJeO
Iro6VL3MkJTxXb/Xu5/77TrT+Iz8+5cbALM3EdBOlJa1HcpPXnSKakB3Wo/Ljzf41GZPc/
Y6u09soNsnAHdv9y9gMhj1054sPwNCEJAy4eaWWsqkMAAAEBAL6eolWH4AGuB2/lPu79B0
ufgaU6BQfxED7rItf/lDhtsfHl77u6URxwQzvSV2CNJJ17WkdQoJmGfTVoSduNXOAgkQJU
woB1ALzUfugbzLVxMXWUlmoQjvyoo4G9LMDdyP5qCbFXKsqkpY16N9xcUap5PgmcoF+dCv
+hTjcC6f8j+BOy7zHYfyBnPGgSjKph9gjHyBEZiujPNkNmDXM+Mz7YeEd5HCtt1p55SBv6
wyePMAjf40ty7xcakj0Gk8c52W5yFwQjJw5EvruYW2s/1eNDXIY1IJOQKlUgOEQfon99a/
8NO0BWLNiSCNdr3uHFkr68jeusASRWWvfxYU6uZ9c=
---- END SSH2 PUBLIC KEY ----

6. Buat file otorisasi pada host jarak jauh seperti yang ditunjukkan di bawah ini. File otorisasi ini harus berisi nama kunci publik yang disalin dari host lokal ke host jarak jauh seperti yang disebutkan pada langkah sebelumnya. Harap perhatikan bahwa format file ini adalah “Key {public-key file-name} “.

[remote-host]$ cat /home/jsmith/.ssh2/authorization
Key id_dsa_2048_b.pub

7. Masuk dari host lokal ke host jarak jauh menggunakan autentikasi kunci SSH2 untuk memverifikasi apakah itu berfungsi dengan baik.

[local-host]$ ssh -l jsmith remote-host <You are on local-host here>
Passphrase for key "/home/jsmith/.ssh2/id_dsa_2048_b" with comment "2048-bit dsa, jsmith@local-host, Sat Jun 21 2008 23:10:20 -0700": <Enter your passphrase here>
Last login: Sat Jun 21 2008 23:13:00 -0700 from 192.168.1.102
No mail.
[remote-host]$ <You are on remote-host here>

Ada dua cara untuk melakukan ssh dan scp tanpa memasukkan kata sandi:

  1. Tidak ada frasa sandi. Saat membuat pasangan kunci, biarkan frasa sandi kosong. Gunakan opsi ini untuk pemrosesan batch otomatis. untuk misalnya jika Anda menjalankan tugas cron untuk menyalin file antar mesin, ini adalah opsi yang cocok. Anda dapat melewati langkah langkah berikutnya untuk metode ini.
  2. Gunakan frasa sandi dan Agen SSH. Jika Anda menggunakan ssh dan scp secara interaktif dari baris perintah dan Anda tidak ingin menggunakan kata sandi setiap kali Anda melakukan ssh atau scp, saya tidak merekomendasikan opsi sebelumnya (tanpa frasa sandi), karena Anda telah menghilangkan satu level keamanan dalam otentikasi berbasis kunci ssh. Sebagai gantinya, gunakan frasa sandi saat membuat pasangan kunci dan gunakan Agen SSH untuk melakukan ssh dan scp tanpa harus memasukkan kata sandi setiap kali seperti yang dijelaskan pada langkah-langkah di bawah ini.

8. Mulai SSH Agent di local-host untuk menjalankan ssh dan scp tanpa harus memasukkan kata sandi beberapa kali.

[local-host]$ ssh-agent $SHELL

9. Muat kunci pribadi ke agen SSH di host lokal.

[local-host]$ ssh-add
Adding identity: /home/jsmith/.ssh2/id_dsa_2048_b.pub
Need passphrase for /home/jsmith/.ssh2/id_dsa_2048_b (2048-bit dsa, jsmith@local-host, Sat Jun 22 2008 23:10:20 -0700).
Enter passphrase: <Enter your passphrase here>

10. Lakukan SSH atau SCP ke remote-home dari local-host tanpa memasukkan password.

[local-host]$<You are on local-host here>

[local-host]$ ssh -l jsmith remote-host
Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102
No mail.
<ssh did not ask for passphrase this time>
[remote-host]$ <You are on remote-host here>

Silakan tinggalkan komentar dan umpan balik Anda tentang artikel ini. Jika Anda menyukai postingan ini, saya akan sangat menghargai jika Anda dapat berlangganan The Geek Stuff.


Linux
  1. 3 cara saya mengonfigurasi SSH untuk privasi

  2. Panduan Bash For Loop dan Contohnya

  3. Cron Job:Panduan Lengkap untuk Pemula 2022

  1. Bagaimana Membuat Serangkaian Kemungkinan yang Komprehensif Untuk Mendefinisikan "Karakter Perintah" Layar Gnu?

  2. Bagaimana Cara Menggunakan Sftp Pada Sistem Yang Membutuhkan Sudo Untuk Akses Root &Otentikasi Berbasis Kunci Ssh?

  3. Ubah Kunci Pribadi Openssh Menjadi Kunci Pribadi Ssh2?

  1. Impor Kunci Ssh Sebagai Sub-kunci Gpg Untuk Digunakan Untuk Otentikasi Ssh?

  2. Cara Mengatur kunci SSH untuk login ssh "tanpa kata sandi" di Linux

  3. Cara Mengatur kunci SSH untuk Login SSH “tanpa kata sandi” di CentOS/RHEL