Ketika Anda menjalankan ssh tanpa argumen login_name, ia secara otomatis menggunakan nama pengguna lokal Anda sebagai login_name. sebagai contoh:
cogan@localhost$ ssh myserver
cogan@myserver's password:
Apakah ada cara untuk memaksa ssh untuk meminta login_name?
Karena
ssh
tidak memiliki opsi untuk memaksa prompt nama pengguna; Anda dapat membuat skrip berikut di~/bin
direktori Anda dan beri namassh
:Kemudian, buat skrip tersebut dapat dieksekusi:
Pastikan Anda memiliki
$HOME/bin
diPATH
(dimasukkanexport PATH=$HOME/bin:$PATH
ke Anda~/.bashrc
atau/etc/bashrc
dansource ~/.bashrc
atausource /etc/bashrc
).Kemudian, jalankan seperti yang Anda inginkan
ssh
:sumber
Saya tidak berpikir begitu - jika ya, itu akan melalui .sshconfig
http://linux.die.net/man/5/ssh_config
Anda dapat mencoba mengatur Pengguna ke sesuatu yang ilegal untuk melihat apa yang dilakukannya.
sumber
[ 12:56 Jonathan@MacBookPro ~ ]$ ssh /dev/null@somehost
benar-benar berfungsi ..:/dev/null@somehost's password:
->Permission denied, please try again.
. Tentu saja, di host/var/log/secure
itu menunjukkansshd[21936]: pam_sepermit(sshd:auth): Cannot determine the user's name
dansshd[21936]: pam_succeed_if(sshd:auth): error retrieving information about user
.Ini adalah adaptasi dari jawaban @ meh.
Dalam skrip shell, kami meminta nama pengguna.
Kami meneruskan nama pengguna dalam panggilan berikutnya ke ssh.
Berikut ini berjalan
uptime
padacontosso.com
:Berikut ini contoh keluaran:
sumber
Jadi saya mengalami masalah yang sama. Saya menggunakan cmd
Dan itu segera meminta kata sandi untuk pengguna yang tidak ada (Nama Komputer saya).
perbaikan sangat sederhana, gunakan saja perintah ini:
Anda dapat mengganti root dengan nama pengguna yang Anda inginkan. Ini akan menyebabkan server meminta kata sandi kepada nama pengguna yang Anda inginkan.
sumber