Ssh

通過 VM 主機使用 SSH 訪問 VM

  • September 2, 2019

我有我的 Linux 工作站,我在其中執行另一個 Linux 的虛擬機。

關鍵是我的朋友想嘗試ssh直接連接到我的虛擬機,但我們無法使其工作。

ssh -R 2223:linda@virtualMachine:221 linda@workStation

這就是我們嘗試的方式(我們嘗試了很多選項,但這基本上是第一個想法)。虛擬機上的 SSH 偵聽埠 221,這就是我們使用此埠的原因。

問題是,使用這個命令,他連接到我的工作站而不是virtualMachine.

為什麼會這樣?這不是將 SSH 連接轉發到該virtualMachine地址的方式嗎?

您可以使用兩個 ssh 命令,一個用於隧道,另一個用於登錄(除非您轉發/路由目前未執行的埠):

ssh -f -l linda -L 2211:virtualMachine:221 workStation -N

然後

ssh -l linda -p 2211 localhost

並登錄到virtualMachine這裡。

編輯:也嘗試(由 francois P 建議)

ssh -J linda@workStation linda@virtualMachine:221

EDIT2:如果問題仍然存在,這可能是由於跳轉主機(工作站)上的選項,另請參見此處:SSH 隧道錯誤:“通道 1:打開失敗:管理禁止:打開失敗”。具體來說,查看工作站上的文件是否/etc/ssh/sshd_config有這些行

AllowTcpForwarding yes
PermitOpen any
PermitTunnel yes

sshd修改文件後重啟:

systemctl restart sshd

引用自:https://unix.stackexchange.com/questions/538688