Bagaimana cara saya mengatur sshd pada Mac OS X agar hanya mengizinkan otentikasi berbasis kunci?

15

Saya memiliki mesin Mac OS X (Mac mini menjalankan 10.5) dengan Remote Login diaktifkan. Saya ingin membuka port sshd ke Internet untuk dapat login dari jarak jauh.

Untuk alasan keamanan, saya ingin menonaktifkan login jarak jauh menggunakan kata sandi, sehingga hanya pengguna dengan kunci publik yang valid untuk login.

Apa cara terbaik untuk mengatur ini di Mac OS X?

Christian Berg
sumber

Jawaban:

20

Setelah sedikit coba-coba, saya menemukan jawabannya sendiri. Opsi-opsi ini perlu diatur/etc/sshd_config :

PasswordAuthentication no
ChallengeResponseAuthentication no

Hanya mengubah satu saja tidak cukup.

Christian Berg
sumber
3
Di El Capital (dan mungkin di Mavericks juga), lokasi berubah menjadi /etc/ssh/sshd_configbukan hanya/etc/sshd_config
yorch
Itulah perbaikannya. BANYAK sumber daya online tidak menyebutkan kunci untuk semua ini: ChallengeResponseAuthentication no.
the_real_one
1

Di / etc / ssh / sshd_config

# To disable tunneled clear text passwords, change to no here! Also,
# remember to set the UsePAM setting to 'no'.
#PasswordAuthentication yes
#PermitEmptyPasswords no

Tetapkan PasswordAuthentication ke no dan hapus # sebelum itu.

pengguna21715
sumber
Apakah Anda membaca komentar di atas tentang pengaturan UsePAM ke 'tidak'?
user21715
Itu sepertinya tidak perlu (lihat jawaban saya sendiri).
Christian Berg
0

Sebenarnya di / etc / sshd_config Anda mengatur baris berikut:

PasswordAuthentication no

Jika Anda menggunakan stock install (mis. Anda tidak membangun / menginstalnya sendiri dari sumber), launchd harus berhati-hati dalam mengambil konfigurasi baru tanpa harus me-restart daemon.

pengguna5336
sumber
Ini tidak berfungsi, saya masih bisa login dengan kata sandi saya. Logfile /var/log/secure.log berisi entri seperti ini: sshd [16306]: Keyboard-interactive / pam yang diterima untuk christian dari port 192.168.178.20 63841 ssh2 Saya percaya opsi PasswordAuthentication hanya mengontrol login kata sandi yang jelas, bukan keyboard-interaktif?
Christian Berg