0
我試圖通過ssh連接到服務器提供密碼,但它仍然一直要求我輸入密碼當腳本正在執行時手動:Net :: SSH.start提供了一個密碼,但仍然一直要求我手動輸入它
session = Net::SSH.start(host, "root", password: pass) do |ssh|
result = ssh.exec!("ls -l")
end
如何解決這個問題?
我試圖通過ssh連接到服務器提供密碼,但它仍然一直要求我輸入密碼當腳本正在執行時手動:Net :: SSH.start提供了一個密碼,但仍然一直要求我手動輸入它
session = Net::SSH.start(host, "root", password: pass) do |ssh|
result = ssh.exec!("ls -l")
end
如何解決這個問題?
如果你想,當你無法連接,你必須在開始添加方法non_interactive模式下,它會失敗
:non_interactive =>設置爲true,如果您的應用程序是非交互式 喜歡認證故障VS密碼提示
檢查這個代碼
session = Net::SSH.start(host, "root", password: pass,non_interactive: true) do |ssh|
result = ssh.exec!("ls -l")
end
嘗試CONNEC到具有t帽子用戶通過自己做的ssh,如果不是你要檢查你的ssh配置(您可以允許root用戶) 支票
的/ etc/SSH/sshd_config中
,如果您有這方面的配置。
的PermitRootLogin是
,然後重新啓動ssh守護進程。
如果仍然存在,你可以檢查你的根傳球。
你可以用同一個用戶使用同一個密碼來同一個主機嗎? –
@KarenB,沒關係。我不想被問到,而是我想要拋出一個異常。 – Matudi
然後你應該編輯你的問題來反映這一點。 –