Si está hablando de OpenSSH, la respuesta es no (puede verificar la fuente ). Como señaló @cnicutar, puede usar ssh user@hosto configurar alias a lo .ssh/configlargo de las líneas de
Esta es la respuesta que estaba buscando. Estoy usando ssh en una secuencia de comandos, por lo que puedo pedirle al usuario su nombre antes de hacer la llamada, solo quería ver si había alguna manera de que ssh pudiera ahorrarme el trabajo.
4
Dado sshque no tiene una opción para forzar una solicitud de nombre de usuario; puede crear el siguiente script en su ~/bindirectorio y nombrarlo ssh:
#!/usr/bin/perl
my $user_at_address = $ARGV[0];
my @u_a = split(/@/, $user_at_address);
if (defined $u_a[1])
{
if ( $^O == 'linux' )
{
exec ("/usr/bin/ssh $u_a[0]\@$u_a[1]");
}
if ( $^O == 'solaris' )
{
exec ("/usr/local/bin/ssh $u_a[0]\@$u_a[1]");
}
}
else
{
print "Enter your username: ";
my $username = <STDIN>;
chomp ( $username );
if ( $^O == 'linux' )
{
exec ("/usr/bin/ssh $username\@$u_a[0]");
}
if ( $^O == 'solaris' )
{
exec ("/usr/local/bin/ssh $username\@$u_a[0]");
}
}
Luego, haga que el script sea ejecutable:
chmod 755 ~/bin/ssh
Asegúrese de tener $HOME/binen su PATH(poner export PATH=$HOME/bin:$PATHen su ~/.bashrco /etc/bashrcy source ~/.bashrco source /etc/bashrc).
Luego, ejecútelo como lo haría ssh:
[ 12:49 jon@hozbox ~ ]$ ssh localhost
Enter your username: bob
bob@localhost's password:
[ 12:50 bob@hozbox /home/bob ]$
Acabo de probar esto por diversión: en [ 12:56 Jonathan@MacBookPro ~ ]$ ssh /dev/null@somehostrealidad funciona ...: /dev/null@somehost's password: -> Permission denied, please try again.. Por supuesto, en los hosts /var/log/securese muestra sshd[21936]: pam_sepermit(sshd:auth): Cannot determine the user's namey sshd[21936]: pam_succeed_if(sshd:auth): error retrieving information about user.
Chown
0
Esta es una adaptación de la respuesta de @ meh.
En un script de shell, solicitamos el nombre de usuario.
Pasamos el nombre de usuario en una llamada posterior a ssh.
Dado
ssh
que no tiene una opción para forzar una solicitud de nombre de usuario; puede crear el siguiente script en su~/bin
directorio y nombrarlossh
:Luego, haga que el script sea ejecutable:
Asegúrese de tener
$HOME/bin
en suPATH
(ponerexport PATH=$HOME/bin:$PATH
en su~/.bashrc
o/etc/bashrc
ysource ~/.bashrc
osource /etc/bashrc
).Luego, ejecútelo como lo haría
ssh
:fuente
No lo creo, si lo fuera, sería a través de .sshconfig
http://linux.die.net/man/5/ssh_config
Puede intentar configurar el Usuario en algo ilegal para ver qué hace.
fuente
[ 12:56 Jonathan@MacBookPro ~ ]$ ssh /dev/null@somehost
realidad funciona ...:/dev/null@somehost's password:
->Permission denied, please try again.
. Por supuesto, en los hosts/var/log/secure
se muestrasshd[21936]: pam_sepermit(sshd:auth): Cannot determine the user's name
ysshd[21936]: pam_succeed_if(sshd:auth): error retrieving information about user
.Esta es una adaptación de la respuesta de @ meh.
En un script de shell, solicitamos el nombre de usuario.
Pasamos el nombre de usuario en una llamada posterior a ssh.
Los siguientes carreras
uptime
encontosso.com
:Aquí hay una muestra de salida:
fuente
Entonces estaba teniendo el mismo problema. Estaba usando cmd
Y estaba pidiendo de inmediato la contraseña de un usuario que no existía (Nombre de mi computadora).
solución realmente simple, solo use este comando en su lugar:
Puede reemplazar root con cualquier nombre de usuario que desee. Esto hará que el servidor le solicite la contraseña del nombre de usuario que desea.
fuente