Cara membuat kata sandi tanpa login berfungsi

12

Saya membuat kunci dan menyalinnya ke target saya:

ssh-keygen
ssh-copy-id username@hostname

Saya meninggalkan lokasi kunci sebagai default dan tidak menetapkan frasa sandi apa pun.

Untuk beberapa saat setelah itu, saya bisa ssh username@hostnametanpa diminta kata sandi, dan kemudian berhenti bekerja karena suatu alasan.

tepang
sumber
2
Lihat unix.stackexchange.com/tags/ssh/info… Mari kita jadikan ini pertanyaan referensi yang bisa kita tutup orang lain sebagai duplikat.
Gilles 'SO- stop being evil'

Jawaban:

8

Jika otentikasi kunci publik tidak berfungsi: pastikan bahwa di sisi server, direktori home Anda ( ~), ~/.sshdirektori, dan ~/.ssh/authorized_keysfile, semua hanya dapat ditulis oleh pemiliknya . Secara khusus, tidak satupun dari mereka harus dapat ditulis oleh grup (bahkan jika pengguna sendirian di grup). chmod 755atau chmod 700tidak apa-apa, chmod 770tidak.

Apa yang harus diperiksa ketika ada sesuatu yang salah:

  • Jalankan ssh -vvvuntuk melihat banyak hasil debugging. Jika Anda memposting pertanyaan yang menanyakan mengapa Anda tidak dapat terhubung dengan ssh, sertakan output ini (Anda mungkin ingin menganonimkan nama host dan pengguna).
  • Jika Anda bisa, memeriksa log server, biasanya dalam /var/log/daemon.logatau /var/log/auth.logatau serupa.
  • Jika otentikasi kunci publik tidak berfungsi, periksa kembali izin, terutama bit grup (lihat di atas).
Gilles 'SANGAT berhenti menjadi jahat'
sumber
Hai, mengapa authorized_keystidak ditulis oleh grup? Apakah SSH menolak ini karena masalah keamanan?
Hei
1
@YdobEmos Siapa pun yang dapat menulis authorized_keysdapat menambahkan kunci mereka sendiri di sana dan dengan demikian masuk ke akun. Jadi hanya pengguna yang harus diizinkan. (Memiliki file yang dapat ditulis grup sebenarnya aman jika tidak ada pengguna lain dalam grup itu, tapi itu sulit untuk dideteksi dengan andal ketika keanggotaan grup dapat berasal dari basis data jaringan.)
Gilles 'SO-stop being evil'
1

Direktori rumah targetnya adalah 755 drwxr-xr-x. Mengubahnya menjadi dapat ditulis grup 775 drwxrwxr-xmerusak pengaturan tanpa kata sandi.

tepang
sumber
Masalah yang sama belum diselesaikan.
Maksud Anda, Anda tidak bisa mendapatkan pekerjaan login tanpa password, bahkan setelah membuat grup direktori dapat ditulis?
tshepang
YA - silakan lihat unix.stackexchange.com/q/208152/11085 , CentOS 7 64-bit di mana saya mencoba masuk dengan kunci id_rsa saya tetapi selalu gagal.
0

Dengan asumsi RHEL / CentOS, dan dengan asumsi Anda memiliki akses admin ke server jarak jauh di mana pengguna newuseringin ssh.

Dapatkan yang newuser'sada id_rsa.pubdan siap.

Ikuti langkah-langkahnya:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Memiliki newuserupaya untuk login.

seorang programmer
sumber