[英]Commands executed using JSch behaves differently than in SSH terminal (bypasses confirm prompt message of “yes/”no")
注意:我登錄到設備而不是計算機,所以我登錄到配置模式(而不是非配置模式)。
我正在使用Java中的JSch庫,以SSH協議登錄。 我這樣登錄:
channel = con.openChannel("shell");
channel.connect();
在某些情況下,當我通過外殼發送需要su
(配置模式)權限(更改配置)的命令時,此代碼會繞過提示消息-這可能會阻止其他用戶更改配置。 如果我使用SSH客戶端/終端手動輸入命令,則必須輸入yes進行確認。
有誰知道為什么嗎?
謝謝。
[ ]
當我通過JSch登錄時,即使我不在要執行的命令數組中插入“是”,我也可以執行配置命令。
默認情況下,JSch不請求PTY(偽終端)。
這可能會導致某些命令的行為與交互式SSH終端不同。
您可以使用ChannelSession.setPty
覆蓋它。
如果上述方法沒有幫助,請參閱類似的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.