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_profile
jest specyficzny dla bash, .profile
jest ogólny dla wszystkich powłok POSIX. bash
najpierw szuka .bash_profile
, a następnie domyślnie .profile
.
ssh-agent
dla „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' EXIT
w twojej .profile
po linii, która zaczyna agenta.