CentOSでgitを使用する際の問題を解決する:error: cannot open .git/FETCH_HEAD: Permission denied
2022-02-21 21:16:06
最近、CentOSでノードサーバをデプロイする際に問題に遭遇し、githubからプロジェクトをプッシュまたはプルする際にエラーが発生することがわかりました。SSHキーを生成し、公開キーをgithubにコピーしましたが、git pull originコマンドを使用すると、常に以下のエラーが発生します。
error: cannot open .git/FETCH_HEAD: Permission denied
最初はsudoを追加すれば問題ないと思っていたのですが、sudoを追加すると別のエラーが報告されることがわかりました。
Permission denied (publickey).
fatal: Could not read from remote repository.
Googleで試した結果、ようやく問題が見つかりました。アドレスは スタックオーバーフロー . 最高得点のabyxの回答がまさにこの問題のキーポイントです。
答えは次のような効果です。
The first method does not work because the current user does not have permission to modify the directory, and the second method does not work because the SSH key of the root user is used instead of the SSH key of the current user after sudo is added.
原因は、CentOSに非rootユーザーでログインし、SSH鍵を生成するコマンドにsudoを付けなかったため、生成されたSSH鍵が現在のユーザーのものになっているためです。しかし、カレントユーザーにはディレクトリを変更する権限がないため、pullはPermission deniedとなります。
解決策としては、カレントディレクトリのパーミッションを変更するか、カレントディレクトリの所属ユーザーを変更することです。
私は、ディレクトリを所有するユーザーを現在のログインユーザーに変更することで、これを行いました。
sudo chown your_user_name: your_folder_name -R
-Rは再帰的という意味です。
関連
-
エラー解決:bash: nvm: コマンドが見つかりません。
-
Linuxシェルプログラミングにおける不正な置換の解決法
-
LNMP nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache コンパイルとインストール+opcacheパラメータ詳細+opcacheビジュアルPHPページコード
-
エラー: $PATH に受け入れ可能な C コンパイラが見つかりません。
-
gcc コンパイル時にオペランドがバイナリに変換されない -解決方法
-
OpenSSL の Linux インストール: AttributeError: 'module' オブジェクトには 'SSL_ST_INIT' という属性がありません。
-
を作ってください。*** ターゲットが指定されておらず、makefileも見つかりませんでした。
-
413 リクエストエンティティが大きすぎる問題の解決策
-
ソケットプログラミング、エラーの原因 ソケット以外でのソケット操作
-
中国標準のKirin OSのyumソースの構成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
コマンドラインからDSOが見つからないことに遭遇した
-
ERR_CONTENT_LENGTH_MISMATCH 問題解決のためのハンドブック
-
ImportError: libSM.so.6: cannot open shared object file: そのようなファイルやディレクトリはありません 解決方法
-
linux環境:警告。ISO C++は文字列定数を'char*'に変換することを禁じている[-Write-strings]。
-
Haproxy の「502 Bad Gateway サーバーが無効または不完全な応答を返しました」を解決する。
-
socket.errorを解決する。[Errno 98] アドレスが既に使用されている問題
-
ansibleのitemsとwith_itemsを理解する
-
実行中のデータノードが1つあり、この操作で除外されるノードはありません。 エラー
-
arpa/inet.h
-
elasticsearchを解決する。例外 BindTransportException [9300-9400]へのバインドに失敗しました]。