Me gustaría poder ejecutar automáticamente un comando en un host remoto cada vez que inicie sesión en ese host, pero dentro de la sesión SSH interactiva actual.
Algo como
ssh user@remotehost [run do.sh]
donde do.shrealiza un par de tareas de limpieza y luego se vuelve a conectar a una screensesión (actualmente lo ejecuto do.shmanualmente después de iniciar sesión en el host).
No quiero agregarlo .bashrcporque inicio sesión en este host desde otras máquinas y no quiero do.shejecutarlo cuando inicio sesión desde allí, así que necesito que sea opcional.
bash
shell
command-line
ssh
Jim Farkas
fuente
fuente

ssh user@remotehost /path/to/do.sh? Si funciona, incluso puedes usar un alias en .ssh / config o en tu .bashrc personalRespuestas:
Podrías probar algo como esto:
como se sugiere aquí: /server/167416/change-directory-automatically-on-ssh-login
O puede intentar usar la opción 'LocalCommand' en sshd_conf (o ~ / .ssh / config) como se describe en la página de manual oficial: http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1
fuente
Una parte del rompecabezas: suponiendo que OpenSSH, el
sshcliente establecerá la siguiente variable de entorno:Por lo tanto, puede utilizar esta información para averiguar de dónde proviene su conexión .
fuente