MrC*_*uer 1 rsa amazon-ec2 fingerprint
当您使用pscp将文件发送到单个计算机时,这不是什么大问题,因为您将获得一次rsa指纹提示,之后再也不会.但是如果你想连接200台机器,你肯定不想输入"是"200次....
我在Windows机器上使用pscp,我真的不关心指纹,我只想接受它.每次重启机器时,我都在使用Amazon EC2并更换指纹....
如果有办法避免使用pscp或其他工具,请告诉我!
谢谢!
在hudson中运行脚本时,请参阅Putty不会缓存访问服务器的密钥
在Windows上,您可以echo y |在命令前使用前缀,每次都会盲目地接受任何主机密钥.但是,更安全的解决方案是第一次以交互方式运行,或生成可在任何客户端计算机上运行的.reg文件.
我不完全同意最后一个答案。第一次接受 SSH 密钥时,您对远程主机一无所知,因此自动接受它没有什么区别。
我要做的是在您第一次连接到主机时自动接受密钥。我读过类似的事情yes yes | ssh user@host,但事实并非如此,因为 SSH 不是从标准输入读取,而是从终端读取。
有效的方法是在第一次连接时传递以下 ssh 选项(它适用于 scp 和 ssh:
scp -oStrictHostKeyChecking=no user@host1:file1 user@host2:file2
Run Code Online (Sandbox Code Playgroud)
这个命令会在你第一次运行它时添加密钥,但是,正如埃里克所说,一旦你接受了密钥就这样做是危险的(中间的人不酷)。如果我是你,我会将其添加到一个脚本中,~/.ssh/known_hosts如果该主机已有一行,则该脚本会签入,在这种情况下,我不会添加该选项。另一方面,如果没有线路,我会这样做;)。
如果您正在处理已知主机的加密版本,请尝试使用
ssh-keygen -F hostname
Run Code Online (Sandbox Code Playgroud)
这是我实际使用的东西(接收以下参数的函数:user、host、source_file)
deployToServer() {
echo "Deployng to $1@$2 from $3"
if [ -z "`cat ~/.ssh/known_hosts | grep $2`" ] && [ -z "`ssh-keygen -F $2`" ]
then
echo 'Auto accepting SSH key'
scp -oStrictHostKeyChecking=no $3* $1@$2:.
else
scp $3* $1@$2:.
fi
}
Run Code Online (Sandbox Code Playgroud)
希望这有帮助;)
| 归档时间: |
|
| 查看次数: |
11079 次 |
| 最近记录: |