¿Cómo hacer que ssh se conecte como el usuario correcto?

Yo uso ssh en una variedad de máquinas, principalmente linux. Las cuentas de estas máquinas varían en el esquema de nombres: si mi nombre es First Last, entonces tengo cuentas: first, flast, last_f, lastf, ya veces necesito iniciar sesión como root. Para cada máquina que uso, quisiera que el cliente de openssh sepa qué cuenta utilizar cuando no especifico en la línea de comando.

Así que la pregunta es: ¿Cómo hago el ssh server Do The Right Thing cuando no se especifica un nombre de usuario?

Puede crear un archivo de config en su directorio .ssh origen, que puede especificar un usuario predeterminado, un archivo de identidad, etc. y asignarlo a un alias que puede utilizar para conectarse.

Por ejemplo, podría poner esto en el archivo ~/.ssh/config :

 Host example HostName example.com User first_last IdentityFile ~/.ssh/example_rsa Port 22 RSAAuthentication yes PubkeyAuthentication yes Host example2 HostName example2.com User last_first # other parameters as needed 

A continuación, sólo puede escribir ssh example o ssh example2 en la línea de comandos para conectarse.

Así que puede configurar uno para cada máquina a la que desea conectarse, con el usuario correspondiente. A continuación, utilice los alias para conectarse sin tener que especificar un usuario. También puede utilizar un patrón para coincidir con varios hosts.

Hay más información y detalles de lo que puede especificar en un archivo de configuración en la página de manual ssh_config .

Según la respuesta de Rich Adam me enteré de PuTTY donde se almacena su configuración.

Todo está almacenado en un árbol de registro, lo encontrará en HKEY_CURRENT_USER\Software\SimonTatham (Simon Tatham es el desarrollador de PuTTY).
Allí se puede ver cómo se define un host.