Mam witrynę jako zdalne repozytorium Git pobierające z Bitbucket.com przy użyciu aliasu SSH. Mogę ręcznie uruchomić agenta ssh na moim serwerze, ale muszę to robić przy każdym logowaniu przez SSH.
Ręcznie uruchamiam agenta ssh:
eval ssh-agent $SHELL
Następnie dodaję agenta:
ssh-add ~/.ssh/bitbucket_id
Następnie pojawia się, gdy:
ssh-add -l
I dobrze mi idzie. Czy istnieje sposób na zautomatyzowanie tego procesu, więc nie muszę tego robić przy każdym logowaniu? Na serwerze działa RedHat 6.2 (Santiago).
ssh-agent <command>działa <command>jako podproces ssh-agent, więc zaczynasz nową powłokę. Myślę, że chcesz eval ssh-agent.
.bash_profilejest specyficzny dla bash, .profilejest ogólny dla wszystkich powłok POSIX. bashnajpierw szuka .bash_profile, a następnie domyślnie .profile.
ssh-agentdla „standardowej” powłoki (zgodnej z POSIX) jest eval $(ssh-agent -s). Należy również zauważyć, że trzeba upewnić się, że prawidłowo pozbyć się agenta, gdy użytkownik loguje się, więc jest to również wskazane, aby umieścić trap 'kill $SSH_AGENT_PID' EXITw twojej .profilepo linii, która zaczyna agenta.