[解決済み] herokuコードのデプロイ時にパーミッションが拒否される(publickey) fatal: リモートエンドが予期せずハングアップする
質問内容
次のコマンドラインで、自分のコードをherokuにデプロイしようとしています。
git push heroku master
が、以下のようなエラーが発生します。
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
すでに公開SSH鍵をアップロードしていますが、まだこのエラーが出ます。
解決方法を教えてください。
公開鍵をHerokuにアップロードする必要があります。
heroku keys:add ~/.ssh/id_rsa.pub
公開鍵を持っていない場合、Herokuは自動的に公開鍵を追加するよう促します。これはシームレスに動作します。ただ使うだけです。
heroku keys:add
以前のキーをすべて消去するには、次のようにします。
heroku keys:clear
既存のキーをすべて表示するには、次のようにします。
heroku keys
EDIT
上記は私の場合はうまくいかなかったようです。私は
HOME
環境変数があるため、SSH は間違ったディレクトリでキーを検索していました。
SSH が正しいディレクトリにあるキーをチェックするようにするには、次のようにします。
ssh -vT [email protected]
すると、次のような ( サンプル ) 行が表示されます。
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
上記から、ssh が鍵を探すのは
/c/Wrong/Directory/.ssh
ディレクトリは、先ほど heroku に追加した公開鍵がある場所ではないのです (
heroku keys:add ~/.ssh/id_rsa.pub
) (
なお、Windows OSでは
~
とは
HOME
のパスで、Win 7 / 8 では
C:\Users\UserName
)
現在のホームディレクトリを表示するには、次のようにします。
echo $HOME
または
echo %HOME%
( Windows )
を設定するには
HOME
の親ディレクトリが正しいことを意味します。
.ssh
ディレクトリにあるキーを探せるようにするため、これらのリンクを参照してください。
関連
-
[解決済み】Git, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み] このリポジトリで別の git プロセスが実行されているようです。
-
[解決済み] GitHubです。パーミッションが拒否されました (公開鍵)。
-
[解決済み] GitHub エラーメッセージ - パーミッションが拒否されました (公開鍵)
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み】Featureブランチのリベースの後、Gitプッシュが拒否される。
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み】Git: Gitを使用しているときにPermission denied (publickey) エラーを解決するにはどうしたらいいですか?
-
[解決済み] Heroku「Permission denied (publickey) fatal: Could not read from remote repository」の不具合について
-
[解決済み] キーフィンガープリントが原因でHerokuにプッシュできない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
gitアップロードの共通エラー処理
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] git stashを元に戻す
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?