Estoy buscando una manera de definir automáticamente algunos alias dentro de mi sesión en cualquier servidor al que me dirija. No puedo ponerlos en los .bashrc
archivos en el servidor porque las cuentas de usuario con las que inicio sesión son compartidas por otras personas y además hay docenas de ellas y mantener un script en cada máquina sería doloroso. Sé que podría usar expect
para escribir los alias automáticamente, pero me preguntaba si OpenSSH tiene algo incorporado que podría usarse para lograr esto.
14
Puede poner su configuración
.bashrc
y solo dejar que se ejecuten cuando inicie sesión. Para hacer esto posible, puede pasar una variable de entorno a través de ssh..bashrc
modificacionessshd_config
modificaciones:.ssh/config
modificaciones (lado del cliente):.bashrc
modificaciones (lado del cliente):(no probado, pero debería hacerlo)
fuente
Desde la página de comando man ssh (1) , si crea un archivo ~ / .ssh / rc , se ejecutará ANTES de que se ejecute el shell de inicio de sesión del usuario, dando así la posibilidad de realizar tareas de 'preconfiguración' antes de iniciar sesión. El ejemplo dado fue montar recursos compartidos de red antes de iniciar sesión.
Si no desea utilizar archivos ~ / .ssh / rc individuales , puede hacer lo mismo con / etc / ssh / sshrc . Una prueba rápida para verificar su nombre de usuario en particular o algún método de identificación podría restringir que otros incluso se den cuenta de que esto está en su lugar.
/ etc / ssh / sshrc SÓLO se obtiene si ~ / .ssh / rc no existe, por lo que puede lograr efectivamente dos capas de complejidad.
fuente
Los alias son definidos e interpretados por el shell.
Desafortunadamente no hay forma de
ssh
pasarlos al shell remoto.Podría escribir un
ssh
contenedor en el lado del cliente que establezca un entorno agradable en el lado remoto, pero no sería bonito.fuente
Si es posible, almacenaría un pequeño script que inicializaría / definiría todo lo que desea en un servidor accesible desde cualquier lugar y lo ejecutaría después de iniciar sesión en cada servidor.
fuente
Una posible solución sería poner su script que configura todo en un servidor web al que pueden acceder todos los demás servidores.
Luego, cada servidor debería necesitar un pequeño script para hacer algo como:
De esa manera solo tiene que actualizarlo en un solo lugar.
fuente
Mira .ssh / config
Aquí hay un ejemplo https://lookherefirst.wordpress.com/2007/12/17/a-simple-ssh-config-file/
fuente