GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur login SSH tanpa kata sandi di Linux

Berikut adalah catatan singkat tentang konfigurasi login tanpa kata sandi antara 2 sistem Linux. Proses pada dasarnya melibatkan pembuatan kunci otentikasi publik dan menambahkannya ke file host jarak jauh ~/.ssh/authorized_keys.

Buat kunci autentikasi

Jika file kunci otentikasi SSH tidak ada, buat file dengan menjalankan ssh-keygen memerintah. Saat dimintai frasa sandi, gunakan frasa sandi kosong jika diperlukan login tanpa sandi sepenuhnya:

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
1e:b2:f4:89:5a:7f:2d:a5:a5:4d:6d:66:2c:82:d8:18 root@remote-host

Salin kunci publik ke host jarak jauh

Gunakan ssh-copy-id perintah untuk menginstal setengah publik dari kunci otentikasi yang baru dibuat ke direktori home pengguna tertentu pada host jarak jauh. Perintah ssh-copy-id kemudian akan secara otomatis menambahkan informasi identitas ke dalam ~/.ssh/authorized_keys file untuk pengguna tertentu pada host jarak jauh (membuat ~/.ssh dan~/.ssh/authorized_keys jika perlu).

# ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-host
user@remote-hosts's password:

Atau jika server tidak diinstal dengan openssh-clients (paket yang menyediakan utilitas perintah ssh-copy-id), Anda dapat menyalin kunci otentikasi dengan perintah:

# cat ~/.ssh/id_rsa.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"

Jika semuanya dikonfigurasi dengan benar, Anda seharusnya dapat masuk ke host jarak jauh tanpa kata sandi.

Pemecahan Masalah

Periksa izin yang benar

Penyebab paling umum masalah dengan membuat otentikasi ssh berbasis kunci berfungsi adalah izin file di server ssh jarak jauh
Jika langkah-langkah di atas diikuti dan ssh'ing ke pengguna yang sesuai masih meminta kata sandi, periksa izin pada file pengguna lokal dan jarak jauh . Izin direktori harus persis seperti yang ditunjukkan di bawah ini. Contoh yang ditampilkan di sini adalah untuk pengguna “oracle”

drwx------. 25 oracle oinstall 4096 Aug 21 11:01 /home/oracle/
drwx------.  2 oracle oinstall 4096 Aug 17 13:13 /home/oracle/.ssh
-rw-------.  1 oracle oinstall  420 Aug 17 13:13 /home/oracle/.ssh/authorized_keys

Jika izin tidak seperti yang ditunjukkan di atas, atur dengan benar :

# chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/

Mulai ulang layanan sshd agar perubahan diterapkan :

# service sshd restart

menonaktifkan SElinux

SELinux juga berpotensi mencegah sshd mengakses direktori ~/.ssh di server. Masalah ini dapat dikesampingkan (atau diselesaikan) dengan menjalankan restorecon sebagai berikut pada direktori ~/.ssh pengguna jarak jauh:

# restorecon -Rv ~/.ssh


Linux
  1. Linux – Bagaimana Cara Masuk Pengguna Ke Tty Dari Ssh?

  2. Cara Mengatur SSH Tanpa Kata Sandi di Linux

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

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

  2. Cara Setup SSH keys untuk SSH "public/private key" Login Di Linux

  3. Bagaimana cara mengatur `sudo` tanpa kata sandi di Linux?

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Cara Mengubah Port SSH Di Linux

  3. Cara Mengatur Terowongan SSH Terbalik di Linux