Saya mencoba mengatur login tanpa kata sandi dari machineA
untuk machineB
untuk pengguna saya david
yang sudah keluar. Inilah yang saya lakukan untuk menghasilkan kunci otentikasi:
david@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ ssh-keygen -t rsa
........
Setelah itu saya menyalin id_rsa.pub
(/home/david/.ssh/id_rsa.pub)
kunci machineA
ke kunci machineB
authorized_keys
file (/home/david/.ssh/authorized_keys)
.
Dan kemudian saya kembali ke layar login machineA dan berlari di bawah perintah dan itu bekerja dengan baik tanpa masalah. Jadi saya bisa masuk machineB
sebagai pengguna david tanpa meminta kata sandi.
david@machineA:~$ ssh david@machineB
Pertanyaan:
Sekarang saya membuat pengguna baru machineA
dan machineB
keduanya dengan menjalankan perintah ini saja useradd golden
. Dan sekarang saya ingin ssh passwordless dari golden
pengguna ini machineB
dari machineA
. Saya melakukan langkah yang sama persis seperti di atas tetapi tidak berhasil.
david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........
Dan kemudian saya menyalin id_rsa.pub
kunci /home/golden/.ssh/id_rsa.pub
untuk pengguna emas dari machineA
ke machineB
authorized_keys
berkas /home/golden/.ssh/authorized_keys
. Dan ketika saya mencoba ssh, itu memberi saya:
golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10
Apa yang salah? Itu tidak hanya berfungsi untuk pengguna emas yang saya buat secara manual melalui perintah ini useradd
. Saya menjalankan Ubuntu 14.04. Apakah ada pengaturan yang perlu saya aktifkan untuk pengguna manual ini yang saya buat?
Dalam machineB
auth.log
file tersebut, di bawah ini adalah apa yang saya lihat ketika saya menjalankan perintah ini dari machineA ssh -vvv golden@machineB
untuk login
Jan 3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan 3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan 3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan 3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]
Apakah ada yang saya lewatkan? Di bawah ini adalah bagaimana struktur direktori saya terlihat:
golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden 675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden 220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root root 4.0K Dec 22 11:56 ..
-rw------- 1 golden golden 17K Jan 5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan 5 12:51 .
-rw------- 1 golden golden 5.0K Jan 5 13:14 .bash_history
golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden 675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden 220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root root 4.0K Jan 4 16:43 ..
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan 5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan 5 12:59 .
-rw------- 1 golden golden 4.6K Jan 5 13:10 .bash_history
Memperbarui:
Dalam machineA
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
Dalam machineB
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
/etc/passwd
entri untuk pengguna?Jawaban:
Masalahnya adalah dengan konfigurasi tumpukan PAM. Host Anda dikonfigurasikan dengan
pam_access
dan konfigurasi default tidak memungkinkan akses eksternal / SSH untuk pengguna barugolden
, meskipun kunci Anda sudah diatur dengan benar.Menambahkan
golden
pengguna ke dalam/etc/security/access.conf
seperti di bawah ini memperbaiki masalah.+:golden:ALL
Untuk melihat informasi selengkapnya baca
man access.conf
yang menjelaskan setiap bidang file ini. Lihatlah bagian contoh untuk memahami urutan dan arti LOKAL, SEMUA dllsumber
Saya memiliki masalah yang sama dan tidak ada opsi yang disarankan bekerja. Tetapi saya menemukan di salah satu forum ( https://ubuntuforums.org/showthread.php?t=1960510 ) "solusi" yang bekerja dengan sempurna.
Edit
/etc/ssh/sshd_config
dan aturMeskipun ini mungkin bukan solusi nyata, karena ada sesuatu yang salah dengan mesin saya (kemarin itu berfungsi dengan baik!), Ini setidaknya berfungsi.
sumber
Silakan tambahkan yang berikut ini di
/etc/security/access.conf
:sumber
-:ALL:EXCEPT root
di/etc/security/access.conf
, itu mulai bekerja.