SSHプロキシとタイムアウト

SSHプロキシとタイムアウト

私のシステムを更新するためにスクリプトを使用しています。

cd /opt/
chmod 600 /opt/updater/.ssh/.pk
ssh-agent bash -c 'ssh-add /opt/updater/.ssh/.pk; git stash; git pull origin master'
/opt/updater/bin/updater.sh

私の問題は、/opt/updater/.ssh/.pk読み取れなくなったりSSHキーが変更されたりすると、プロセスが次のように中断されることです。

  ssh-agent bash -c 'ssh-add /opt/RDE/rdeupdater/.ssh/.pk; git stash; git pull origin master;EX=$?;echo "-$EX" '
/opt/RDE/rdeupdater/.ssh/.pk: No such file or directory
No local changes to save
user@git's password:

この問題をどのように解決できますか?このシステムでは Expect は使用できません。

答え1

秘密は、sshパスワード認証を試みるとすぐに失敗することです(したがって、常に公開/秘密鍵認証のみを実行します)。

環境変数をGIT_SSHシェルスクリプトに設定してssh一般的なコマンドを含めるように拡張できますが、通常はリポジトリを含むサーバー-o "PasswordAuthentication no"にアクセスできない場合は、次の設定もできます。git~/.ssh_config

Host server_with_remote_git_repo_name
    PasswordAuthentication no

その後、パスワードアクセスを使用する必要がある場合は、次の手順を実行してserver_with_remote_git_repo_name上書きしてください。ssh -o "PasswordAuthentication yes" server_with_remote_git_repo_name

関連情報