※当サイトの記事には、広告・プロモーションが含まれます。

Visual Studio Codeでリモート接続先でgit pullしたりするには

www.itmedia.co.jp

 米Googleは9月11日(現地時間)、今年初めに削除したGoogle検索のキャッシュ機能を、Webサイトのアーカイブ図書館を目指す米非営利団体Internet Archiveとの連携で復活させたと発表した。「この機能が完全に展開され、40カ国語で検索できるようになるまでには、1日ほどかかる」としている。

Google検索でキャッシュ復活へ Internet Archiveとの提携で - ITmedia NEWS

 キャッシュ機能は、検索結果に表示されたWebページについて、直接アクセスしなくても、その内容を確認できるというもの。更新されたページの更新前の内容を確認する際などに便利だった。

Google検索でキャッシュ復活へ Internet Archiveとの提携で - ITmedia NEWS

 Internet Archiveは公式ブログで、「Googleとのこの提携で、Webアーカイブの重要性を強調し、Wayback Machineの範囲を拡大して、ユーザーがアーカイブされたコンテンツにアクセスして探索することがさらに容易になる」と語った。ただし、権利所有者がサイトのアーカイブをオプトアウトした場合や、Webページがコンテンツポリシーに違反している場合は、アーカイブされたWebページへのリンクは利用できないとしている。

Google検索でキャッシュ復活へ Internet Archiveとの提携で - ITmedia NEWS

 Internet ArchiveWayback Machineで過去25年以上にわたって公開されているWebページのスナップショットを保存してきており、誰でも閲覧できるようにしている。

Google検索でキャッシュ復活へ Internet Archiveとの提携で - ITmedia NEWS

⇧ スナップショットの保管期限とかって、どれぐらいなんですかね?

Visual Studio Codeでリモート接続

Linux環境でしか動かない機能などが含まれるソフトウェア開発なんかをしていると、

code.visualstudio.com

⇧ 上図のように、リモート接続先にソースコードを配置して開発することになったりしますと。

VS CodeVisual Studio Code)」でリモート接続を実現するには、

Remote Development extension pack

The Remote Development extension pack includes four extensions. See the following articles to get started with each of them:

  • Remote - SSH - Connect to any location by opening folders on a remote machine/VM using SSH.
  • Dev Containers - Work with a separate toolchain or container-based application inside (or mounted into) a container.
  • WSL - Get a Linux-powered development experience in the Windows Subsystem for Linux.
  • Remote - Tunnels - Connect to a remote machine via a secure tunnel, without configuring SSH.

https://code.visualstudio.com/docs/remote/remote-overview

⇧ 上記で説明されているような「VS CodeVisual Studio Code)」の「拡張機能」をインストールする必要がありますと。

以下の3つのいずれかを利用する感じになるんかな。

■Remote-SSH

code.visualstudio.com

■Remote DevContainers

code.visualstudio.com

■WSL

code.visualstudio.com

⇧ まぁ、Gitで管理しているソースコードってなってくると、

  • Remote-SSH
  • WSL

のどちらかの「拡張機能」の環境を利用していく感じになるんかね。

Visual Studio Codeでリモート接続先でgit pullしたりするには

で、本題。

リモート接続先でもgit pullとかしたいですと。リモート接続先はLinux環境になることいが多いと思われますが、リモート接続先にGitをインストールしておく必要はあると。

で、git pullなどのGit操作については、認証が必要になってきますと。

Gitリポジトリサーバーの種類によって、対応方法が変わってくると思いますが、今回は、GitリポジトリサーバーがGitHubの場合なので、

ts0818.hatenablog.com

GitHubのリソースを利用するための認証方法が様々ありますと。

で、GitHubに対して、gitによる操作のための認証方法としては、

github.blog

Beginning August 13, 2021, we will no longer accept account passwords when authenticating Git operations and will require the use of token-based authentication, such as a personal access token (for developers) or an OAuth or GitHub App installation token (for integrators) for all authenticated Git operations on GitHub.com. You may also continue using SSH keys where you prefer.

https://github.blog/security/application-security/token-authentication-requirements-for-git-operations/

⇧ 上記にあるように、「パスワード認証」については禁止されたので、

  1. token-based authentication, such as a personal access token (for developers)
  2. an OAuth or GitHub App installation token (for integrators)
  3. using SSH keys

のいずれかでないと、『all authenticated Git operations on GitHub.com』が許可されないってことのよう。

で、業務用のGitリポジトリに対してのgit操作に対する認証ということで、「1. token-based authentication, such as a personal access token (for developers)」、所謂「PAT(Personal Access Token)」は使えないような気がする。

「2. an OAuth or GitHub App installation token (for integrators)」については、認証用の「トークン」が都度発行される形になると思うので、git操作の際の認証に利用できない気がする。

となると、消去法で「3. using SSH keys」、所謂「公開鍵認証」を利用するしかないんかなと。

zenn.dev

⇧ 上記サイト様で導入方法が紹介されてました。

一応、公式のドキュメントによると、

docs.github.com

Organization のリポジトリに対する Git アクセスを管理する

SSH 認証局 (CA) を Organization に追加し、SSH CA に署名された鍵を使って、メンバーが Git 経由で Organization のリポジトリにアクセスできるようにすることができます。

https://docs.github.com/ja/enterprise-cloud@latest/organizations/managing-git-access-to-your-organizations-repositories

⇧ とあり、

OrganizationのSSH認証局を管理する

SSH CAをOrganizationに追加すると、メンバーはあなたが提供したSSH証明書を使用してOrganizationにアクセスできるようになります。 SSHリポジトリで無効になっていなければ、Organizationのリソースにメンバーがアクセスする際に、SSH証明書を使わなければならないようにすることができます。詳しくは、「SSH認証局について」をご覧ください。

https://docs.github.com/ja/enterprise-cloud@latest/organizations/managing-git-access-to-your-organizations-repositories

注: SSH 認証局を使用するには、Organization で GitHub Enterprise Cloud を使用する必要があります。 GitHub Enterprise Cloud を無料で試す方法の詳細については、「GitHub Enterprise Cloud の試用版を設定する」を参照してください。

https://docs.github.com/ja/enterprise-cloud@latest/organizations/managing-git-access-to-your-organizations-repositories

⇧ とあり、「GitHub Enterprise Cloud」を利用している必要があるらしい。

なるほど、「GitHub Enterprise Cloud」を利用していない場合、消去法で「1. token-based authentication, such as a personal access token (for developers)」、所謂「PAT(Personal Access Token)」を利用せざるを得ないと。

う~む、業務で利用するGitHubに対してのGit操作のアクセス制御って、どうするのが良いんだろうか?

個人でGitHubを利用している場合だったら、「1. token-based authentication, such as a personal access token (for developers)」で済ませてしまうところなんだが...

毎度モヤモヤ感が半端ない…

今回はこのへんで。