當您使用pscp將文件發送到單臺計算機時不會有什麼大不了,因爲您將得到一次rsa指紋提示,而不會再次發生。但如果你想連接到200臺機器,你絕對不想輸入「是」200次....使用pscp自動接受rsa指紋
我在Windows機器上使用pscp,我真的不關心指紋,我只想接受它。我正在使用亞馬遜EC2,每次重新啓動機器時都會更改指紋....
如果有一種方法可以避免使用pscp或其他工具,請告訴我!
謝謝!
當您使用pscp將文件發送到單臺計算機時不會有什麼大不了,因爲您將得到一次rsa指紋提示,而不會再次發生。但如果你想連接到200臺機器,你絕對不想輸入「是」200次....使用pscp自動接受rsa指紋
我在Windows機器上使用pscp,我真的不關心指紋,我只想接受它。我正在使用亞馬遜EC2,每次重新啓動機器時都會更改指紋....
如果有一種方法可以避免使用pscp或其他工具,請告訴我!
謝謝!
如果您只需重新啓動或停止/啓動實例,則主機ssh密鑰指紋不應更改。如果是這樣,那麼實例/ AMI配置不正確或其他(惡意?)正在進行。
良好的EC2 AMI設置爲在第一次啓動時創建隨機主機ssh密鑰。最流行的AMI將輸出指紋到控制檯輸出。爲了安全起見,您應該通過EC2 API(命令行工具或控制檯)請求實例控制檯輸出,並將其與ssh提示符中的指紋進行比較。
通過說你「不關心指紋」,你說你不關心加密自己和實例之間的流量,並且你和實例之間的任何人都可以看到這樣的通信。中間人甚至有可能接管ssh會話並獲得控制實例的權限。
使用Linux上的ssh,您可以使用命令行或配置文件選項關閉ssh指紋檢查。我不願意公佈如何做到這一點,因爲它不被推薦,並嚴重降低了連接的安全性。
更好的選擇是讓您的實例將自己的主機ssh密鑰設置爲您知道的祕密值。您可以將主機ssh密鑰的公共端保存在已知的主機文件中。這樣,您的流量就會加密並且安全無虞,並且在連接到您自己的機器時,您不必連續回答關於指紋的提示。
我不完全同意最後一個答案。第一次接受SSH密鑰時,您對遠程主機一無所知,所以自動接受它並沒有什麼區別。
我會做什麼是自動接受第一次連接到主機的密鑰。我已經閱讀過類似yes yes | ssh [email protected]
這樣的作品,但它沒有,因爲SSH不會從stdin讀取,而是從終端讀取。
什麼工作是傳遞,您連接第一次,下面的SSH選項(它同時適用於SCP和SSH:
scp -oStrictHostKeyChecking=no [email protected]:file1 [email protected]:file2
此命令會增加你運行它的關鍵在第一時間,但是如果像Eric所說的那樣,一旦你接受了密鑰就這麼做是危險的(如果我是你,那麼我會將它添加到一個腳本中,該腳本在~/.ssh/known_hosts
中檢查過,如果該主機已經有一行在這種情況下,我不會添加該選項,另一方面,如果沒有行,我會這麼做;)。
如果你正在處理的known_hosts的加密版本,嘗試用
ssh-keygen -F hostname
下面是我實際使用的東西(函數接受以下參數:用戶,主機,SOURCE_FILE)
deployToServer() {
echo "Deployng to [email protected]$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* [email protected]$2:.
else
scp $3* [email protected]$2:.
fi
}
希望對您有所幫助;)
它不適用於pscp在Windows上,這是一個真正的恥辱! TBH我已經驗證了指紋,並希望在命令行中指定它,不一定忽略它,但請說出接受這一個...爲什麼我不能做這個基本的事情? – Dan
錯誤:首次接受SSH密鑰時(例如從EC2控制檯輸出),您確實知道遠程主機,並且自動接受密鑰確實會產生很大的安全差異。 –
@Dan _It在Windows上不適用於pscp,這是一種真正的恥辱!_真正的恥辱是使用Windows。 – user454322
請參閱Putty won't cache the keys to access a server when run script in hudson
在Windows上,您可以在您的命令前面使用前綴echo y |
,這將使您盲目地每次都接受任何主機密鑰。但是,更安全的解決方案是首次交互式運行,或生成可在任何客戶端計算機上運行的.reg文件。
我在它創建了以下命令的期望文件:
產卵的ssh -i ec2Key.pem Ubuntu的@ ec2IpAddress 期望「?你確定要繼續連接(是/否)」 {發送「是\ n」} 交互
我可以在沒有禁用rsa指紋的情況下進入ec2控制檯。我的機器已添加到此ec2的已知主機中。
我希望它有幫助。
可能的重複http://stackoverflow.com/questions/13598996/putty-wont-cache-the-keys-to-access-a-server-when-run-script-in-hudson – Clay