質問: 環境 Ubuntu15/SSH/Bitbucket PCを起動して最初に「git push」する際、秘密鍵のパスワードをポップアップで聞かれます。プッシュ先はBitbucketです。 「パスワードを入力して秘密鍵のロックを解除してください アプリケーションが秘密鍵"ユーザ名@マシン名"にアクセスしようとしましたが、ロックがかかっていました。」 一度入力すると次以降のプッシュ時には聞かれないのですが 最初のプッシュ時もパスを聞かれないようにするにはどうすればいいでしょうか? git remote -v でURLを確認するとhttps〜ではなくちゃんとgit@bitbucket.org:で始まる SSHのURLになっています。 ~/.sshにはもちろんid_rsa、id_rsa.pubのペアが存在しています。 またこのパスワードを変更したいですがどこで設定したのか思い出せません。 (適当に入力したら解除されました)
回答: ssh-keygenコマンドで秘密鍵と公開鍵を作成するときに、パスフレーズ(passphrase、パスワードみたいなもの)の入力が求められたと思います。そいつを入力してしまうと、~/.ssh/id_rsaがパスフレーズで暗号化され、それを使用するときに毎回聞かれます。ただ、きちんと設定された環境(Ubuntuとかはデフォルトで設定されたはず)だとssh-agentという機能でログイン後の最初の1回のみ聞かれます。 たぶんですが、このような状況だと思われます。下記コマンドでパスフレーズは変更や削除が可能です。 ``` ssh-keygen -p -f ~/.ssh/id_rsa ``` ただし、安全性のため、パスフレーズはなるべく削除しない方が良いと思われます。 また、Bitbucketへのpushのみパスフレーズは無しにしたいというのであれば、専用のパスフレーズ無しの秘密鍵を別に作り、~/.ssh/configで指定し、その公開鍵をBitbucket側に登録することで可能かと思います。id_rsa_bitbucketとid_rsa_bitbucket.pubを作ったとして、~/.ssh/configに下記のように書き込みます。 ``` Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/id_rsa_bitbucket User git ``` そして、id_rsa_bitbucket.pubをBitbucketに公開鍵として登録することで、できるようになると思います(未検証ですが)。