2017-04-05 64 views
1

我想自動使用上Centos7 shell腳本生成一對SSH密鑰的執行SSH-凱基,我已經試過如何不提示

yes "y" | ssh-keygen -t rsa 
echo "\n\n\n" | ssh-keygen... 
echo | ssh-keygen.. 

所有這些命令不起作用,只是輸入一個'輸入'並且shell腳本停止在「輸入密碼(空密碼)」, 我只想知道如何模擬多個「輸入」shell在不斷。

非常感謝任何人都可以幫忙!

ssh-keygen -t rsa -N "" 

頁:

回答

1

使用-N標誌只要輸入無效通

-N new_passphrase 
     Provides the new passphrase. 

要覆蓋id_rsa

yes y |ssh-keygen -q -t rsa -N '' >/dev/null 
+0

我已經知道這種方式,但我只是想用'ssh-keygen -t rsa'來實現。 –

+0

那麼沒有'-N'標誌有什麼解決辦法? –

+0

你可以使用'expect',但是'-N'處理它好像很複雜。 – klashxx

1

如果您不想提示用戶輸入要保存密鑰的文件,則可以將文件輸出標誌-f添加到命令中。

ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa

這樣,用戶將不會提示任何輸入-unless id_rsa文件(S)已經存在。