2016-12-15 53 views
0

我經常很難在我的集羣上設置無密碼的ssh連接。如何在ubuntu上以編程方式共享ssh密鑰?

所以我寫了一個腳本,我認爲它在ubuntu 14.04上工作。我今天在一個Ubuntu 15集羣上試過了,但它不起作用。 我真的不知道那麼,如果它在Ubuntu上工作過14.4: -/

正是基於此頁面上:http://mah.everybody.org/docs/ssh

我把代碼放在這個github上:https://github.com/romainjouin/formation_spark/blob/master/ubuntu_excange_ssh_keys.sh

的想法是調用腳本,傳遞第一個參數user @ ip,我們要設置一個密碼較少的ssh連接。

有人可以看看github腳本:有沒有一個明顯的東西我失蹤?

此外,啓動腳本之前我: 更改/etc/ssh/sshd_config以取消

AuthorizedKeysFile  %h/.ssh/authorized_keys 

螞蟻然後執行:

$/etc/init.d/ssh restart 

編輯

的代碼看起來工作正常,但我缺少主目錄上的授權以使其工作(主目錄是777而不是700)。

+1

您可以使用'ssh-copy-id -i〜/ .ssh/id_rsa.pub remote-host'將公鑰複製到遠程主機而不是'\t cat〜/ .ssh/id_rsa.pub | ssh $ 1「cat - >>〜/ .ssh/authorized_keys」 ' – haifzhan

+0

謝謝。我認爲問題來自於代理程序是否正在啓動 –

+0

對不起,但這個Q不是關於爲StackOverflow定義的編程。它可能更適合於S.E.相關網站http://superuser.com。使用Q底部的'flag'鏈接並請主持人移動它。請不要在2個不同的網站上發佈相同的Q.請重新閱讀http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/dont-ask和http://stackoverflow.com/help/mcve。祝你好運。 – shellter

回答

0

假設你的SSH遠程用戶@遠程主機頻繁,第一

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host 

然後,編輯你的〜/ .ssh/config文件

cat ~./ssh/config 
Host foobar 
    HostName remote-host-ip 
    Port 22 
    User remote-user 
    IdentityFile ~/.ssh/id_rsa 

現在你可以ssh這樣

ssh foobar