2017-12-26 10 views
-2

gitのクローンリポジトリを使用してLinuxでbashスクリプトを作成します。 私は、ユーザ名とパスワードを入力する必要があるようにスクリプトを書きたいと思っています。スクリプト内の3つの "git clone"に対してパスワードを1回だけ入力してください。

私のスクリプトが見えます:

#!/bin/bash 
git clone http://xxx 
git clone http://yyy 
git clone http://zzz 

私はこのスクリプトを実行しています、私は、ユーザー名とパスワード(:XXX、YYY、ZZZ 3リポジトリ用)3回を挿入するために、手動で必要があります。

ユーザー名とパスワードが自動的に挿入されるようにスクリプトを更新することはできますか?

+1

HTTPをSSHキーを作成し、追加の詳細を検索**本当に**認証済みのgitのアクセスに使用する間違ったプロトコルです。パスワードを「サポートされている」方法で保存しても、それは他のどのプロセスでも読み取ることができる平文のままです。それをすべて保存していなくても(そしてExpect経由で入力しても) 3回)、パケットを傍受しているどのプロセスでも、それをメモリまたはネットワークから読み取ることができます(つまり、あなたとWebサイトの間のルーターへのアクセス権を持つユーザーは誰でもパスワードを傍受できます)。いやだっていうだけだよ。 –

+0

また、これはgit固有の質問です。一般的なlinux/shellの質問ではありません。タイトルとタグを適切に更新しました。 –

答えて

3

あなたは、SSH鍵ペアを作成し、これらの3つのリポジトリにSSH公開鍵を展開し、SSHのURLの代わりに、HTTPを使用してそれらのクローンを作成する必要があります。

このようにすると、ユーザー名またはパスワードの入力を求められません。

コマンドSSH鍵ペアを作成する: ssh-keygen -t rsa -b 4096

キーは、デフォルトで~/.sshに作成されます。公開鍵はid_rsa.pub

として保存されますgithubのレポへhere.

+1

これは正しい方法ですが、鍵ペアの作成は、githubに関連するプロセスを完全に終了させるものではありません。公開鍵を作成してgithubアカウントに転送するためのgithubヘルプページへのリンクを提供したかどうかは、質問者にとって有益でしょう。 –

+0

githubのドキュメントへのリンクが追加されました。 –

+0

元のポスターと同様の質問をしている人は、ここまで来る人にとってはるかに役立ちます。よくやった。 –

関連する問題