2016-10-11 1 views
1

.batファイルから自動的にレポを複製しようとしています。サイレントサイレントクローンが機能しません

私はsshを使用するので、.batファイルは最初に "id_rsa"ファイルを "user\.ssh"フォルダに移動します。私は「git clone ssh://repo c:\repo」を実行すると

はその後、私は質問

The authenticity of host can't be established. 
RSA key fingerprint is ........ 
Are you sure you want to continue connecting (yes/no)? 

私はyesと答えた場合は、手動でそれが動作し、「known_hosts」ファイルは「user\.ssh」フォルダに作成さを取得します。今私が.batファイルを実行すると、git cloneは問題なく動作します。

私は.batファイルからこれをサイレントに行う必要があります。
.batファイルからyesに返信し、「> /dev/nul 2>&1」を追加しようとしましたが、成功しませんでした。

アイデア?

答えて

0

%USERPROFILE%\.ssh\known_hostsにリモートサーバーを追加するには、 "Can I automatically add a new host to known_hosts?"を試してください。

Windowsのbatスクリプトでも、/ path/to/git/bin/bash -c '...'コマンドを使用できます。

c:\path\to\git\bin\bash -c 'ssh-keyscan -t rsa,dsa HOST 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts && mv ~/.ssh/tmp_hosts ~/.ssh/known_hosts' 

これにより、gitディストリビューションの一部であるgrep、sortなどのlinuxコマンドを使用できます。

0

更新されたbashを使用していますか?本質的にここでやっているのは/ dev/nullへのリダイレクトです。これは "どこにも"ありません。 [email protected]:git @ gitlab.comを試してみてください。-q

0

少なくとも今のところ、known_hostsファイルとid_rsaの両方を別のサーバーからダウンロードします。

関連する問題