GNU/Linux >> Belajar Linux >  >> Linux

Pengaturan otentikasi berbasis SSH Key dari openSSH ke SSH2

Artikel sebelumnya (pengaturan openSSH ke openSSH, pengaturan SSH2 ke SSH2) menjelaskan tentang cara mengatur otentikasi berbasis kunci pada versi ssh yang sama untuk melakukan ssh dan scp tanpa memasukkan kata sandi. Artikel ini menjelaskan cara menyiapkan autentikasi berbasis kunci SSH antara versi SSH yang berbeda (dari openSSH ke SSH2) untuk menjalankan ssh dan scp tanpa memasukkan sandi.

1. Verifikasi versi SSH host lokal dan host jarak jauh.

Dalam contoh ini, local-host berjalan di openSSH dan remote-host berjalan di SSH2.

[local-host]$ ssh -V
OpenSSH_5.0p1, OpenSSL 0.9.8g 19 Oct 2007

[remote-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
lrwxrwxrwx  1 root root 4 Mar 10 22:04 /usr/local/bin/ssh -> ssh2

2. Hasilkan pasangan kunci pada host lokal menggunakan ssh-keygen

[local-host]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):<Hit enter>
Enter passphrase (empty for no passphrase): <Enter your passphrase here>
Enter same passphrase again:<Enter your passphrase again>
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
3b:2a:d2:ac:8c:71:81:7e:b7:31:21:11:b8:e8:31:ad jsmith@local-host

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

Secara default ssh-keygen pada openSSH menghasilkan pasangan kunci RSA. Anda juga dapat membuat pasangan kunci DSA menggunakan:ssh-keygen -t dsa perintah.

3. Ubah kunci publik openSSH menjadi kunci publik SSH2.

Pada local-host yang menjalankan openSSH, konversikan kunci publik openSSH menjadi kunci publik SSH2 menggunakan ssh-keygen seperti yang ditunjukkan di bawah ini.

[local-host]$ ssh-keygen -e -f ~/.ssh/id_rsa.pub > ~/.ssh/id_rsa_ssh2.pub

4. Instal kunci publik pada host jarak jauh yang menjalankan SSH2.

Buat file kunci publik baru di host jarak jauh dan salin tempel kunci SSH2 yang dikonversi dari host lokal.

[remote-host]$ vi ~/.ssh2/local-host_ssh2_key.pub 
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted from OpenSSH by jsmith@local-host"
DDDDB3NzaC1yc2EAAAABDmbrdomPh9rWfjZ1+7Q369zsBEa7wS1RxzWRQ0Bmr9FSplI
3ADBEBC/6cbdf/v0r6Cp5y5kusP07AOzo2F7MBDSZBtS/MbYJiIxvocoaxG2bQyz3yYjU
YcpzGMD182bnA8kRxmGg+R5pVXM34lx3iSSgd8r3RzZKnDpEvEInnI7pQvUBoEbYCXPUeZ
LQvQAkz6+Pb6SsNp-dop/qgv9qyfbyMz1iKUZGadG146GtanL5QtRwyAeD187gMzzrGzMFP
LWjdzWpGILdZ5gq7wwRpbcXFUskVrS2ZjDe676XlTN1k5QSZmSYUuttDdrjB5SFiMpsre8
a7cQuMS178i9eDBEC==
---- END SSH2 PUBLIC KEY ----

Tambahkan nama file kunci publik di atas ke file otorisasi pada host jarak jauh seperti yang ditunjukkan di bawah ini.

[remote-host]$ vi ~/.ssh2/authorization 
Key local-host_ssh2_key.pub

5. Verifikasi Login dari host lokal ke host jarak jauh menggunakan otentikasi kunci SSH2.

[local-host]$ ssh -l jsmith remote-host <You are on local-host here>
The authenticity of host 'local-host' can't be established.
DSA key fingerprint is a5:f6:2e:e6:a9:b2:7b:0e:e7:ae:cb:6c:7b:f5:6d:06.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'local-host' (DSA) to the list of known hosts.
Enter passphrase for key '/home/jsmith/.ssh/id_rsa': <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.

6. Mulai SSH Agent di local-host

Agen SSH akan berjalan di latar belakang untuk menahan kunci pribadi dan menjalankan ssh dan scp tanpa harus memasukkan frasa sandi beberapa kali.

[local-host]$ ssh-agent $SHELL

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

[local-host]$ ssh-add
Enter passphrase for /home/jsmith/.ssh/id_rsa:<Enter your passphrase here>
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)

8. 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>

Linux
  1. Ssh – Perbedaan Antara Kunci Openssh dan Kunci Putty?

  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. SSH dari A sampai B ke C, menggunakan kunci privat di B

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di Linux

  3. Batasi akses SSH berbasis kata sandi per pengguna tetapi izinkan otentikasi kunci