本記事では、VS Codeでgit push時に発生する「Missing or invalid credentials.」のエラーの解消方法を記載する。
環境
- VS Code : 1.76.1
- Remote - SSH : v0.102.0
- 接続先Linux OS : AlmaLinux 8.5
事象
VS CodeでRemote - SSHの拡張機能を用いてLinux OSにSSH接続した状態でgit pushすると以下のような「Missing or invalid credentials.」のエラーで失敗することがある。
# git push
Missing or invalid credentials.
Error: connect ECONNREFUSED /run/user/0/vscode-git-d76c335e68.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '/run/user/0/vscode-git-d76c335e68.sock'
}
Missing or invalid credentials.
Error: connect ECONNREFUSED /run/user/0/vscode-git-d76c335e68.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '/run/user/0/vscode-git-d76c335e68.sock'
}
remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. See http://t1026gitl.test.local/help/topics/git/troubleshooting_git#error-on-git-fetch-http-basic-access-denied
fatal: Authentication failed for 'http://t1026gitl.test.local/ansible/test.git/'
解消方法
本事象は、環境変数が悪さをするようだ。
export
コマンドで環境変数を確認すると、GIT_ASKPASS
という環境変数において何やらVS Codeのシェルが指定されていることがわかる。おそらく、このシェルを介してVS Codeからgit
実行時のユーザー名・パスワード情報の入力をできるようにしていると想定されるが、これがうまく動作しないことが原因となる。
# export | grep GIT_ASKPASS
declare -x GIT_ASKPASS="/root/.vscode-server/bin/5e80xxxxfcb6ba4c2d23712967dxxxx089da575b/extensions/git/dist/askpass.sh"
というわけで、環境変数GIT_ASKPASS
をunset
コマンドで解除する。
# unset GIT_ASKPASS
git push
するとユーザー名とパスワードを求められるので、正しい情報を入力すれば、git push
に成功するようになる。
# git push
Username for 'http://t1026gitl.test.local': tadmin
Password for 'http://tadmin@t1026gitl.test.local':
Enumerating objects: 37, done.
Counting objects: 100% (37/37), done.
Delta compression using up to 2 threads
Compressing objects: 100% (22/22), done.
Writing objects: 100% (22/22), 2.07 KiB | 2.07 MiB/s, done.
Total 22 (delta 18), reused 0 (delta 0), pack-reused 0
To http://t1026gitl.test.local/ansible/test.git
f9860d8..60d4beb main -> main
以上で、VS Codeでgit push時に発生する「Missing or invalid credentials.」のエラーの解消方法の手順は完了となる。
0 件のコメント:
コメントを投稿