我正在尝试从.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)?
如果我手动回答是,则可以使用" known_hosts
"文件在" user\.ssh
"中创建夹。现在,如果我运行.bat
文件,git clone
将无问题地工作。
我需要从.bat
文件中默默地执行此操作
我尝试从yes
文件回复.bat
并添加" > /dev/nul 2>&1
"但没有成功。
有什么想法吗?
答案 0 :(得分:0)
你应该尝试和适应" Can I automatically add a new host to known_hosts?"为了将远程服务器添加到%USERPROFILE%\.ssh\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'
这允许你使用像grep,sort,...等linux命令,它们是git发行版的一部分。
答案 1 :(得分:0)
您使用的是更新后的bash吗?基本上你在这里做的是重定向到/ dev / null,这是“无处”。如果你想静静地做,你可以试试git clone git@gitlab.com:username / repo directory -q
答案 2 :(得分:0)
为了使它工作,至少现在,我从另一台服务器下载known_hosts文件和id_rsa。