Gdy uruchomisz ssh bez argumentu nazwa_logowania, automatycznie użyje on lokalnej nazwy użytkownika jako nazwy_logowania. na przykład:
cogan@localhost$ ssh myserver
cogan@myserver's password:
Czy istnieje sposób, aby zmusić ssh do zapytania o login_name?
Ponieważ
ssh
nie ma opcji wymuszania pytania o nazwę użytkownika; możesz utworzyć następujący skrypt w swoim~/bin
katalogu i nazwać gossh
:Następnie spraw, aby skrypt był wykonywalny:
Upewnij się, że masz
$HOME/bin
w swoimPATH
(wstawexport PATH=$HOME/bin:$PATH
w swoim~/.bashrc
lub/etc/bashrc
isource ~/.bashrc
lubsource /etc/bashrc
).Następnie uruchom go w następujący sposób
ssh
:źródło
Nie sądzę - gdyby tak było, byłoby to możliwe dzięki .sshconfig
http://linux.die.net/man/5/ssh_config
Możesz spróbować ustawić użytkownika na coś nielegalnego, aby zobaczyć, co robi.
źródło
[ 12:56 Jonathan@MacBookPro ~ ]$ ssh /dev/null@somehost
faktycznie działa ..:/dev/null@somehost's password:
->Permission denied, please try again.
. Oczywiście u gospodarzy/var/log/secure
pokazujesshd[21936]: pam_sepermit(sshd:auth): Cannot determine the user's name
isshd[21936]: pam_succeed_if(sshd:auth): error retrieving information about user
.To jest adaptacja odpowiedzi @ meh.
W skrypcie powłoki pytamy o nazwę użytkownika.
Nazwę użytkownika przekazujemy w kolejnym wywołaniu ssh.
Następujące działa
uptime
nacontosso.com
:Oto przykładowy wynik:
źródło
Miałem więc ten sam problem. Używałem cmd
I natychmiast pytał o hasło dla użytkownika, który nie istniał (nazwa moich komputerów).
naprawdę prosta poprawka, po prostu użyj tego polecenia:
Możesz zastąpić root dowolną nazwą użytkownika. Spowoduje to, że serwer wyświetli monit o podanie hasła do żądanej nazwy użytkownika.
źródło