Jeśli jesteś podobny do mnie i masz wiele maszyn programistycznych (również maszyn wirtualnych) z różnych powodów, możesz łączyć klucze ssh, inteligentny profil bash_profil i wybrany RCS.
Po drugie użyłbym nfs / samaba / sshfs. Jedną z wad jest to, że jeśli nie masz dostępu do sieci przez cały czas, nie możesz uzyskać dostępu do tego, czego potrzebujesz (latanie, brak Wi-Fi, zapory ogniowe, problemy z routingiem itp.). Komputery, które synchronizuję, nie są dostępne jednocześnie, ale chcę udostępnić między nimi informacje.
Oto jak zacząłem pożyczać wiele pomysłów z Internetu.
.bash_profile może mieć coś takiego
$HOME/bin/shell_ssh_agent
Mam to z kilku miejsc, ale nie mogę teraz znaleźć linku do tego. Plik 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
Teraz przy pierwszym logowaniu konfigurujesz klucze. Wyloguj się i zaloguj, a to po prostu ułatwiło życie.
Umieść wszystkie skrypty w RCS, co ułatwia synchronizację maszyn programistycznych. Używam git. Uwierzytelnianie za pomocą git odbywa się za pośrednictwem ssh, więc klucze ssh również tutaj pomagają. Zauważ, że w tym momencie mogłeś użyć czegoś takiego jak nfs. Nadal byłbym fanem RCS z powodów, które wymienię poniżej.
Przypadek użycia to
- zaloguj się po raz pierwszy, klucze zostaną skonfigurowane
- jeśli RCS nie jest skonfigurowany, sprawdź swoje skrypty osobiste (i zaktualizuj / scal w razie potrzeby, może nawet być częścią twojego .bash_profile, jeśli chcesz)
- edytuj vimrc, specjalne skrypty itp. i zatwierdzaj je
- po zalogowaniu się na innych komputerach wykonaj aktualizację / scalenie / pobranie. Dzięki temu wszystko jest zsynchronizowane; tzn. koniec z kopiowaniem plików, które czasem tupiesz i nie chcesz.
- dodatkową korzyścią jest moc RCS. Czasami wprowadzam niekorzystne zmiany w skryptach lub konfiguracjach i muszę je wycofać i tym podobne.
Coś, co chcę wypróbować, to zapakować początkowe dane logowania / ustawienia do pliku makefile, który kopiuję na nowy komputer. Plik makefile może następnie wykonać konfigurację kluczy, RCS itp. Oczywiście jest tu trochę narzutu, ale jeśli zakończysz konfigurowanie wielu maszyn, jest to:
- oszczędność czasu
- łatwiej utrzymać synchronizację konfiguracji i osobistych skryptów maszyn programistycznych
- zarządzanie zmianami w skryptach i konfiguracjach.
set background=dark
lubset background=light
coś, czego żadna dystrybucja Linuksa nie dotyka i jest całkowicie dyskretna dla użytkownika. </sarcasm>