Ssh

除非從腳本執行,否則 SSH 身份驗證是否有效?

  • April 14, 2010

我已按照類似於本文中的說明設置我的伺服器以允許密鑰/對身份驗證。

據我所知,它工作正常。例如,如果我執行以下操作,它可以正常工作:

ssh myusername@mydomain.com

它不會提示我輸入密碼。這就是我想要發生的事情。但是,如果我寫一個像這樣的小 bash 腳本:

#!/bin/bash -x
ssh myusername@mydomain.com

並執行:

sudo ./mytestscript.sh

…它會提示我:

myusername@mydomain.com's password:

我究竟做錯了什麼?我需要能夠在不提示輸入密碼的情況下從我的腳本中登錄!

我猜如果你在沒有sudo. 如果是這種情況,那麼您的問題是 ssh 現在正在 root 的主目錄而不是您的主目錄中尋找公鑰。向您的 ssh 命令添加一個-i選項,指定您已配置的密鑰的路徑,或者改用 root 的公鑰。

如果您ssh-agent用於儲存密鑰的解密版本而不是使用無密碼密鑰,則還需要編輯/etc/sudoers並添加env_keep+="SSH_AUTH_SOCK SVN_SSHDefaultsssh 才能找到您的身份驗證套接字。

引用自:https://serverfault.com/questions/132459