2009-01-06 133 views
5

我需要創建一個腳本來自動設置一個ssh隧道。我認爲沒有密碼的專用ssh密鑰是一個好的開始,但我無法找到這是否可行,以及如何做到這一點。 此密鑰應該具有有限的權限(只設置隧道),但我需要另一個私鑰(使用密碼)。創建一個用於設置ssh隧道的無密碼二級ssh密鑰

謝謝!

回答

8

好的,我找到了答案。

首先,ssh-keygen -f theNewPrivateKey否則它會覆蓋舊的私鑰。 二,ssh -i theNewPrivateKey [email protected]-i選項更改用於認證的私鑰。

現在我可以嘗試我的腳本。


編輯:請問我的新的密鑰具有有限的權限:

當複製公鑰到目標計算機的$ HOME /的.ssh/authorized_keys2中的文件,我添加了這個:

command="sleep 99999999999" ssh-dss AAAAB3NzaC1kc3MA... 
(+ the rest of the key) 

然後唯一允許的命令是永遠等待。 由於創建此密鑰的目的是創建一個反向ssh隧道,所以應該沒問題。 然後創建隧道:

ssh -T -R 7878:localhost:22 -i .ssh/mynewkey [email protected] 

最後,我可以記錄從我家的電腦:

ssh [email protected] -p7878 

我希望這不會有安全問題。如果這是一件壞事,請讓我知道!

+1

新密鑰將如何「有限權限」? – innaM 2009-01-13 12:21:25

1

嘗試

ssh-keygen

命令。

+1

不要忘記-f選項,否則這將覆蓋舊的私鑰 – ascobol 2009-01-06 15:11:13

0

我有類似的情況,我必須自動同步服務器內容,而不必在我的robocopy腳本中提供密碼。

Link幫了我。