くりーむわーかー

プログラムとか。作ってて ・試しててハマった事など。誰かのお役に立てば幸いかと。 その他、いろいろエトセトラ。。。

Git

VSCodeでリモートホストにSSH接続してる時に出るGitのエラー

VSCodeのRemoteSSHで別のホストにSSHで接続して、

Gitのコマンド実行すると下記の様なエラーが出る事がごくまれにある。

Missing or invalid credentials.
Error: connect ENOENT /run/user/1000/vscode-git-******.sock

VSCodeでGit使ってると、パスワードの入力させるダイアログがVSCode側で出てくるのですが、

どうもそれが悪さしてるらしい。

どうしようもない場合はこれを無効にすればよいと思いますが、

基本的に、ターミナルを一回落として上げなおすか、

VSCode自体を上げなおすと治る。

参考: stackoverflow

AWS アクセスキーとか無しでEC2からCodeCommitのリポジトリを操作する

公式のガイド

SSHキーとかHTTPSの認証情報とか先にやっておかないとダメだと思ってたのですが、

EC2からならこういうの必要ないっぽい。


EC2のロールにポリシーでCodeCommitPowerUser辺りを付けておけば、Gitのみでいける。

AWSCLIのインストールは必要ですが、Configはしておく必要ない。

Gitのconfigで下記を実施。credential helperをAWSCLI通してやるっぽい。

git config --global credential.helper "!aws codecommit credential-helper $@"
git config --global credential.UseHttpPath true

これだけでいける。SSHキーもAWSのアクセスキーとかシークレットキーの発行なんかも不要なので基本的はこれでやってくれというのがAWSの推奨らしい。

ただし、一つ罠がある。


Gitのインストール時に↓のCredentialHelperをNoneにしておかないとダメ。

sample

ダメじゃないんだけど、Noneにしておかないと、awscliをcredential-helperにしても、

HTTPSでアクセスした際に必ずuser-name/passを聞かれる。

CentOS Yum / Git / Curl プロキシの設定

プロキシ環境でやる場合。ユーザ認証付きで。他にもあるので今度足す。

■Yum
vi /etc/yum.conf

proxy = http://000.000.000.000:8080
proxy_username = hogeuser
proxy_password = fugapass

■Git
git config --global http.proxy http://hogeuser:fugapass@000.000.000.000:8080
git config --global https.proxy http://hogeuser:fugapass@000.000.000.000:8080
git config --global url."https://".insteadOf git://

確認
git config --list

■Wget
vi /etc/wgetrc

http_proxy=http.proxy http://hogeuser:fugapass@000.000.000.000:8080
https_proxy=http.proxy http://hogeuser:fugapass@000.000.000.000:8080
ftp_proxy=http.proxy http://hogeuser:fugapass@000.000.000.000:8080

■Curl
curl -U hogeuser:fugapass -x 000.000.000.000:8080 -L http://mirrorlist.centos.org

VisualStudioのGitでプロキシエラー

この前VisualStudioのソース管理で同期したら、リモートリポジトリにつなぎに行くところで、急にプロキシエラーになった。エラーは⇒の感じ「リモート サーバーがエラーを返しました: (407) プロキシ認証・・・」

Nuget更新した影響かしら。プロキシエラーと言われましても、どこをいじればいいやら。。。と色々試した結果、「コマンドラインからGitを使って一回リモートリポジトリにアクセスする」とうまくいった。 適当にCloneとかでいいのでコマンドでやると、プロキシじゃなくてリモートリポジトリのパスワード聞かれるから、パスワード入れて普通にCloneしてやる。そうすと、VisualStudio側の同期がうまくいくようになる。

なかなか不思議な感じですね。VisualStudio自体、プロキシの設定はIEの設定を見るらしいし、Gitもそうかなと思ってやってみたらうまくいった。一回通しておくと、キャッシか何かに残ってそれを見るのかしら。。。

問合せ