Usuario SSH predeterminado en Linux

14

¿Cuál es la entrada que debo agregar a mi .bashrcarchivo para poder especificar un usuario predeterminado para hacer conexiones SSH? Por ejemplo, si quiero que sea root y quiero SSH a x, si escribo ssh x, debería tener una conexión predeterminada ssh root@x.

Por defecto, Linux parece ser el usuario predeterminado en el que está conectado. Es decir, si estoy conectado como "peter", escribir me ssh xdará como resultado una conexión de ssh peter@x.

Tenga en cuenta que todavía quiero anular el valor predeterminado a veces, así que hacer algo como

alias ssh='ssh root@'

No es la solución más ideal.

Peter
fuente

Respuestas:

34

Una mejor solución que poner un alias en su bashrc, sería usar un archivo de configuración ssh

cat ~/.ssh/config

HOST *  
     USER root

También puede especificar que ciertos subdominios usen ciertos usuarios. Útil si su computadora portátil viaja entre redes.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Incluso podría configurar por dominios y usar diferentes claves ssh para diferentes dominios.

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
Spuder
fuente
1
Tenga en cuenta que cuando sshescanea el archivo de configuración, usará la primera coincidencia que encuentre, por lo tanto, coloque las coincidencias menos específicas en la parte inferior del archivo.
mwfearnley
0

Puede hacer un alias para ssh usando la opción -l, entonces:

alias ssh = 'ssh -l defaultuser'

La opción -l le da al usuario de inicio de sesión, pero lo que es interesante es que el usuario, si lo hay, se proporciona antes de que la información del host anule esto. Entonces si comienzas

host ssh

Después de configurar el alias anterior, iniciará sesión como usuario predeterminado, mientras que si comienza

ssh newuser @ host

De todos modos obtendrá newuser y no defaultuser de la opción "-l"

Esto funciona al menos en algunas instalaciones de OpenSSH que vienen con distribuciones estándar de Linux.

fede.evol
fuente
Usar el archivo ~ / .ssh / config es, con mucho, el enfoque preferido, ya que el suyo puede tener efectos secundarios no deseados.
dovetalk