簡體   English   中英

通過 Jenkins SSH 插件和普通 ssh 連接的區別

[英]Difference between connecting throug Jenkins SSH plugin and normal ssh

我有一個遠程服務器。
如果我以 Jenkins 用戶身份使用ssh連接服務器,它就可以完美運行

ssh jenkins@remoteserver.com

允許jenkins用戶更改為用戶jboss而不要求輸入密碼:

sudo su jboss

這工作完美,無需輸入密碼。 一切都如預期。

如果我進行 Jenkins 構建,通過 SSH 插件連接到遠程服務器,連接工作正常。 我也可以運行一個測試腳本,它也能用!

但是,如果我在遠程服務器上通過 Jenkins 制作sudo su jboss ,則它不起作用。
詹金斯沒有拋出任何錯誤,只有旋轉圈旋轉圈
它永遠不會停止,只有當我取消工作時。

任何人都知道,在 Jenkins 中運行ssh和通過插件連接有什么區別? 更改用戶名時連接是否丟失? (看起來像)

SSH 插件ssh命令提供了兩種完全不同的 SSH 協議實現

  • 您的ssh命令可能會運行OpenSSH客戶端
  • SSH插件使用JSch提供的SSH協議實現

我不喜歡JSch ,但我懷疑插件配置JSch終端處理的方式存在問題,或者存在與JSch終端處理相關的問題。 要么可能會破壞sudo的行為:

sudo對終端/tty 設置有些敏感; 例如,請參閱此討論,其中還包含一些可能有助於解決該問題的提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM