¿Cómo hago que TRAMP use los nombres de usuario de mi configuración ssh con la canonicalización del nombre de host?
Creí que esta sería una pregunta extremadamente básica, pero al buscar en Google solo he encontrado una pregunta similar aquí [1], la cual no me ha sido de ayuda.
Tengo una configuración bastante extensa de ssh. ¿Cómo puedo hacer que TRAMP la respete? La mayoría de las cosas funcionan desde el principio, excepto el nombre de usuario, por el cual TRAMP me solicita cada vez que me conecto a un servidor. Me gustaría que TRAMP dejara de pedirme el usuario y usara la entrada “user” de mi configuración de ssh directamente. ¿Existe alguna configuración para ello?
Edit: TRAMP solo solicita el usuario cuando la configuración utiliza canonicidad. Es decir, la siguiente configuración de ssh funciona:
Host foo
HostName foo.example.com
User BettaGeorge
Sin embargo, la siguiente configuración de ssh en cambio me solicita el nombre de usuario:
“`
CanonicalDomains example.com
CanonicalizeHostname yes
Host *.example.com
User BettaGeorge
“`
La opción de establecer el nombre de usuario por host (sin comodines) no es viable ya que administro un gran clúster de máquinas virtuales ocasionalmente efímeras.
He confirmado que tramp-default-user-alist
es nil
cuando esto sucede.
Mi versión de Emacs es 27.2 en Linux, mi versión de TRAMP es 2.4.5.27.2.
[1] https://stackoverflow.com/questions/9901030/tramp-mode-in-emacs-using-ssh-config
davy.ai
Para configurar TRAMP para que respete su configuración ssh al conectarse a servidores remotos, debe establecer la variable “tramp-default-user-alist” en su archivo de inicialización de Emacs (por ejemplo, “.emacs” o “.emacs.d/init.el”).
Suponiendo que tiene una entrada de Host en su configuración ssh que se ve así:
Puede agregar la siguiente línea a su archivo de inicialización de Emacs para hacer que TRAMP use el usuario “BettaGeorge” al conectarse a “foo.example.com”:
Esto agregará una entrada a la lista “tramp-default-user-alist” que asocia el nombre de host “foo.example.com” con el nombre de usuario “BettaGeorge”. Puede agregar entradas similares para otros hosts en su configuración ssh.
Si tiene una configuración ssh más compleja con entradas de Host comodín, puede usar expresiones regulares en el argumento de nombre de host de “add-to-list”. Por ejemplo, si tiene una entrada de Host como esta:
Puede agregar la siguiente línea a su archivo de inicialización de Emacs para hacer que TRAMP use el usuario “BettaGeorge” al conectarse a cualquier host que coincida con el patrón “*.example.com”:
Esta línea utiliza una expresión regular (“\`.*\.example\.com\'”) para hacer coincidir los nombres de host que terminan con “.example.com” y los asocia con el nombre de usuario “BettaGeorge”.