[英]Twisted Conch - Server/Client
我正在尋找創建類似於以下內容的Twisted Conch Server / Client SSH應用程序:
客戶端<--- Key1 --->服務器/客戶端<--- Key2 --->服務器
我想這就像SSH MITM或命令代理。
我已經閱讀了類似Twisted相關問題的答案,例如: Twisted服務器-客戶端數據共享,並且我了解傳遞客戶端/服務器數據的原理。
我不確定的部分是用戶身份驗證。 我想通過扭曲的海螺應用程序將第一個客戶端的登錄詳細信息傳遞給端點服務器。 有沒有辦法做到這一點?
另外,是否有可能進行單獨的SSH密鑰協商,然后在服務器和客戶端之間傳遞所有數據,包括憑據和鍵入的任何命令?
不幸的是,這比看起來要復雜一些。 SSH經歷了一些痛苦,試圖避免這種MITM。 如果您不使用相同的密鑰協商,則publickey
密鑰身份驗證將不會成功,因為您要簽名的字符串在連接的兩端都是不同的(有關更多信息,請參閱RFC 7節)。
不過,密碼驗證仍然可以正常進行。 最簡單的方法是創建一個twisted.conch.ssh.session.SSHSession子類,該子類偵聽packetReceived
方法上的數據包並將其轉發到相應的transport.sendPacket
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.