Nonaktifkan sementara otentikasi kunci publik ssh dari klien

37

Apakah ada cara untuk sementara waktu menonaktifkan otentikasi kunci publik saat melakukan ssh'ing, dan menggunakan otentikasi kata sandi?

Saat ini saya ingin mengakses server jarak jauh, tetapi saya menggunakan laptop lain, bukan milik saya.

Menjelajahi tautan itu , saya menemukan bahwa perintah ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.orgitu tidak berfungsi di mana-mana. Dan ya, itu tidak berhasil untuk saya. Saya menggunakan: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012

Sunting: Saya juga mencoba mengetik ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no tetapi masih memiliki "Izin ditolak (publickey)".

Jadi, apakah ada konfigurasi khusus yang harus dilakukan di server jauh, agar perintah itu berfungsi? Atau, kapan perintah itu akan berfungsi seperti yang diharapkan?

Terima kasih banyak atas sarannya.

Nsukami _
sumber
30
Jika Anda mengikuti tautan lagi, ada seseorang yang menyatakan bahwa metode Anda tidak berhasil, tetapi ini berhasil:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
NickW
@NikW Terima kasih banyak, mungkin saya harus menyebutkannya, mencoba perintah yang Anda usulkan juga, masih memiliki "Izin ditolak (publickey)".
Nsukami _
1
Tekan saja masalah ini karena laptop saya punya TON kunci, dan ssh mencoba semuanya, dan saya ditolak bahkan sebelum sempat memasukkan kata sandi. Terima kasih untuk bertanya.
Dallaylaen
3
@NickW Jika Anda menaruh komentar Anda sebagai jawabannya, saya akan mengangkatnya.
labirin

Jawaban:

9

Ini terdengar seperti masalah konfigurasi di sisi server.

Jika server memungkinkan otentikasi kunci publik dan kata sandi maka bahkan jika Anda mencoba untuk terhubung tanpa file kunci pribadi yang ada pada klien, itu akan meminta Anda untuk kata sandi.

Jika Anda mendapatkan pesan kesalahan "Permission denied (publickey)" maka sepertinya otentikasi kata sandi tidak didukung di server Anda.

Tanpa melihat file / etc / sshd_config, sulit untuk diketahui tetapi dugaan saya adalah Anda perlu memastikan baris berikut ada:

PasswordAuthentication yes

Mulai ulang server ssh, dan ketika Anda terhubung dari klien, Anda harus dimintai kata sandi jika tidak ada kunci privat, atau jika kunci privat tidak cocok dengan kunci publik di server.

Alternatif yang lebih aman untuk ini tentu saja akan menyalin kunci pribadi Anda ke laptop yang Anda gunakan, atau bahkan menghasilkan kunci pribadi baru untuk digunakan pada laptop itu dan menambahkan kunci publik ke .ssh/authorized_keys

v25
sumber
6

Buat saja file ID yang kosong.

touch $HOME/.ssh/blank

Jika Anda meninggalkan izin 640 atau 644 maka ssh akan mengeluh bahwa izinnya tidak cukup aman dan tidak menggunakannya. Jika Anda mengubahnya menjadi 600, maka kata sandi akan diminta 3 kali dan gagal karena tidak ada kata sandi. Jadi biarkan saja 640 atau 644.

Lalu ketika Anda ssh gunakan perintah ini.

ssh -i $HOME/.ssh/blank servername-or-ip

Anda bisa menggunakan .ssh / config dan mengatur entri host untuk tidak menggunakan kunci tetapi kurang sementara atau Anda bisa membuat alias untuk server dan server-nokey tetapi itu akan lama dan sulit untuk dipertahankan.

shane
sumber
5
-i /dev/nullberfungsi juga, dan tidak perlu memeriksa izin.
svvac
File kosong / null tidak berfungsi, sshkata Load key "/dev/null": invalid format, kemudian melanjutkan untuk menggunakan kunci lain yang telah Anda konfigurasikan, dan kemudian gagal masuk karena terlalu banyak kegagalan otentikasi.
Malvineous
Bagi saya ini tidak berhasil. Mungkin kredensial saya disimpan di keyring gnome.
Yaroslav Nikitenko