web-dev-qa-db-ja.com

毎回認証なしでgithubからプルする

証明書などを生成する方法はありますか?毎回認証することなく、私のprodサーバーがgithubリポジトリからプルできるようになっていますか?

13
Matt Welander

これが Deploy Keys の目的です。

このヘルプ記事では、GitHubがサポートするデプロイメント認証方法について説明し、それらの間での決定に役立ついくつかの指針を示しています。

私の限られた経験では、SSHキーの展開はおそらくセットアップが最も簡単です。

11
Nevik Rehnel

アクセストークンを作成 して、それをユーザー名として使用できます(パスワードなし)。

アクセストークンを取得したら、リポジトリのクローンを作成します。

git clone https://<your-access-token>@github.com/username/repo.git

その後、毎回認証することなくプルできます。

これは最も簡単な方法ですが、トークンのプレーンテキストを.git/configに保存します。セキュリティを向上させるには、 (パスワードキャッシュの設定 を使用して、通常どおりにhttpsのクローンを作成します。

git clone https://github.com/username/repo.git

サーバーからリポジトリへのアクセスを削除する場合は、 アプリケーション設定 のアクセストークンを削除します。

デプロイ環境では、sshよりhttpsを使用することも好みます。 sshで処理するための十分なアクセス権限がない場合もありますが、安価なホスティングサービスでもgithubへのhttpsアクセスが利用できます。

31
EHER

sshキーを生成

cd ~/.ssh 
ssh-keygen -t rsa -C "your-email-address"
touch config

設定に貼り付け

 Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/YOUR_KEY

公開キーをgithubデプロイメントキー設定に貼り付けます

cat YOUR_KEY.pub

httpからsshにリモートを設定

git remote set-url Origin ssh://[email protected]/USERNAME/REPOSITORY.git
6

これは、資格情報のキャッシュと.netrcファイルを使用することで実現できると思います。 これを確認してください

2
user2735206