SSH エイリアスを使用して Bitbucket.com からプルするリモート Git リポジトリとしてサイトがあります。サーバー上で ssh-agent を手動で起動できますが、SSH 経由でログインするたびにこれを実行する必要があります。
ssh-agent を手動で起動します。
eval ssh-agent $SHELL
次にエージェントを追加します。
ssh-add ~/.ssh/bitbucket_id
次に、次の操作を行うと表示されます。
ssh-add -l
これで準備完了です。ログインするたびにこの処理を実行しなくても済むように、このプロセスを自動化する方法はありますか? サーバーは RedHat 6.2 (Santiago) を実行しています。
ベストアンサー1
この記事を読んでみてください。とても役に立つと思います:
https://web.archive.org/web/20210506080335/https://mah.everybody.org/docs/ssh
上記のリンクがいつか消えてしまった場合に備えて、解決策の主要部分を以下に記しておきます。
ダニエル・スターリン経由のジョセフ・M・リーグルからのこの解決策:
これをあなたの
.bash_profile
SSH_ENV="$HOME/.ssh/agent-environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add; } # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null #ps ${SSH_AGENT_PID} doesn't work under cywgin ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi
このバージョンは、ssh-agent がすでに起動しているかどうかを確認し、見つからない場合は起動して設定を保存し、次回シェルを起動したときに使用できるようにするので、特に便利です。