Si es como yo y tiene muchas máquinas de desarrollo (máquinas virtuales también) por varias razones, puede combinar claves ssh, un bash_profile inteligente y un RCS de su elección.
En segundo lugar, usaría nfs / samaba / sshfs. Una desventaja es que si no tiene acceso a la red todo el tiempo, entonces no puede acceder a lo que necesita (volar, sin wifi, firewalls, problemas de enrutamiento, etc.). No todas las máquinas que mantengo sincronizadas son accesibles al mismo tiempo, pero quiero compartir información entre ellas.
Lo siguiente es cómo lo hice tomando prestadas muchas ideas de Internet.
.bash_profile podría tener algo como esto
$HOME/bin/shell_ssh_agent
Obtuve esto de un par de lugares, pero ahora no puedo encontrar un enlace. El archivo shell_ssh_agent:
#!/bin/bash
SSH_ENV=$HOME/.ssh/environment
#echo "starting"
function start_agent {
#echo "reaping agents"
killall ssh-agent
#echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
#echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV}
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV}
#echo "sourced ssh env"
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent > /dev/null || { start_agent; }
else
start_agent;
fi
Ahora, en el primer inicio de sesión, configura sus claves. Salga y entre y simplemente le hizo la vida más fácil.
Ponga todos sus scripts en un RCS, esto hace que mantener las máquinas de desarrollo sincronizadas sea más fácil. Yo uso git. La autenticación con git es a través de ssh, por lo que las teclas ssh también ayudan aquí. Tenga en cuenta en este punto que podría haber usado algo como nfs. Todavía sería fanático de un RCS por una razón que menciono a continuación.
El caso de uso es
- iniciar sesión por primera vez, las teclas se configuran
- si RCS no está configurado, revise sus scripts personales (y actualice / combine cuando sea necesario, esto incluso podría ser parte de su .bash_profile si lo desea)
- editar vimrc, scripts especiales, etc. y confirmarlos
- cuando inicie sesión en otras máquinas, realice una actualización / fusión / pago. Esto mantiene todo sincronizado; es decir, no más copias de archivos que a veces pisoteas y no quieres.
- como beneficio adicional obtienes el poder de un RCS. A veces hago cambios desfavorables en los scripts o configuraciones y necesito retroceder y cosas similares.
Algo que quiero probar a continuación es envolver el inicio de sesión / configuración inicial en un archivo MAKE que copio a la nueva máquina. El archivo MAKE puede hacer el trabajo de configurar sus claves, RCS, etc. Obviamente, hay algunos gastos generales aquí, pero si termina configurando muchas máquinas, esto es:
- un ahorro de tiempo
- es más fácil mantener sincronizadas las configuraciones y los scripts personales de las máquinas de desarrollo
- gestión de cambios en scripts y configuraciones.
set background=dark
oset background=light
, algo que ninguna distribución de Linux toca y es completamente discreto para el usuario. </sarcasm>