GNU/Linux >> Belajar Linux >  >> Linux

Lakukan SSH dan SCP Tanpa Memasukkan Kata Sandi di openSSH

Pada artikel ini, saya akan menjelaskan bagaimana melakukan ssh dan scp tanpa memasukkan password menggunakan otentikasi SSH Public Key dengan SSH Agent di openSSH

Ada dua tingkat keamanan dalam otentikasi berbasis kunci SSH. Agar Anda dapat masuk, Anda memerlukan kunci pribadi dan frasa sandi. Bahkan jika salah satunya disusupi, penyerang tetap tidak dapat masuk ke akun Anda, karena keduanya diperlukan untuk masuk. Ini jauh lebih baik daripada otentikasi berbasis kata sandi biasa, di mana jika kata sandi disusupi, penyerang dapat memperoleh akses ke sistem.

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 sesuai.
  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 langkah berikut menjelaskan cara menjalankan SSH dan SCP dari host lokal ke host jarak jauh tanpa memasukkan sandi pada sistem openSSH

1. Verifikasi bahwa local-host dan remote-host menjalankan openSSH

[local-host]$ ssh -V
OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006

[remote-host]$ ssh -V
OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006

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:
31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 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. Instal kunci publik pada host jarak jauh.

Salin konten kunci publik dari host lokal dan tempelkan ke /home/jsmith/.ssh/authorized_keys pada remote-host. Jika /home/jsmith/.ssh/authorized_keys sudah memiliki beberapa kunci publik lainnya, Anda dapat menambahkan ini di akhir. Jika direktori .ssh di bawah direktori home Anda di remote-host tidak ada, silakan buat.

[remote-host]$ vi ~/.ssh/authorized_keys 
ssh-rsa ABIwAAAQEAzRPh9rWfjZ1+7Q369zsBEa7wS1RxzWR jsmith@local-host

Dengan kata sederhana, salin local-host:/home/jsmith/.ssh/id_rsa.pub ke remote-host:/home/jsmith/.ssh/authorized_keys

4. Berikan izin yang sesuai ke direktori .ssh pada remote-host.

[remote-host]$ chmod 755 ~/.ssh
[remote-host]$ chmod 644 ~/.ssh/authorized_keys

5. Masuk dari host lokal ke host jarak jauh menggunakan otentikasi kunci SSH untuk memverifikasi apakah itu berfungsi dengan baik.

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

[local-host]$ ssh -l jsmith remote-host
Enter passphrase for key '/home/jsmith/.ssh/id_rsa': <Enter your passphrase here>
Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102
No mail. [remote-host]$ <You are on remote-host here>

6. Mulai SSH Agent di local-host untuk menjalankan ssh dan scp tanpa harus memasukkan passphrase beberapa kali.

Verifikasi apakah agen SSH sudah berjalan, jika belum jalankan seperti gambar di bawah ini.

[local-host]$ ps -ef | grep ssh-agent
511 9789 9425 0 00:05 pts/1 00:00:00 grep ssh-agent

[local-host]$ ssh-agent $SHELL

[local-host]$ ps -ef | grep ssh-agent
511 9791 9790 0 00:05 ? 00:00:00 ssh-agent /bin/bash
511 9793 9790 0 00:05 pts/1 00:00:00 grep ssh-agent

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)

Berikut ini adalah opsi berbeda yang tersedia di ssh-add:

  • ssh-add :Muat file kunci tertentu.
  • ssh-add -l:Daftar semua kunci yang dimuat di agen ssh.
  • ssh-add -d :Menghapus kunci tertentu dari agen ssh
  • ssh-add -D:Hapus semua kunci

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>

Bantu saya menyebarkan berita tentang The Geek Stuff.

Silakan tinggalkan komentar dan umpan balik Anda tentang artikel ini. Jika Anda menyukai posting ini, saya akan sangat menghargai jika Anda dapat menyebarkan berita tentang blog “The Geek Stuff” dengan menambahkannya ke del.icio.us atau Digg melalui tautan di bawah.


Linux
  1. SSH – Menghasilkan dan Bekerja dengan kunci ssh

  2. Bagaimana Mengonversi File PPK ke OpenSSH Keys dan Login menggunakan SSH di Linux?

  3. Bagaimana Cara Menyalin File Dari Jarak Jauh Melalui SSH Tanpa Memasukkan Kata Sandi Anda?

  1. Login SSH ke server RHEL 7 tanpa kata sandi

  2. Cara Mengatur Login SSH Tanpa Kata Sandi

  3. 3 Langkah Melakukan Login SSH Tanpa Password Menggunakan ssh-keygen &ssh-copy-id

  1. Ssh – Membatasi Pengguna Ssh/scp/sftp ke Direktori?

  2. Ssh – Perbedaan Antara Kunci Openssh dan Kunci Putty?

  3. Cara Melakukan SSH dan SCP Tanpa Password dari SSH2 ke OpenSSH