Vpn

無法創建 OpenSSH 隧道

  • June 4, 2018

我正在嘗試通過 openssh 設置 vpn。

我在 Arch Linux 上執行客戶端。客戶端的版本是OpenSSH_7.7p1, OpenSSL 1.1.0h 27 Mar 2018.

ssh 伺服器位於 Google Cloud 上的 Ubuntu 17.10 版本上OpenSSH_7.5p1 Ubuntu-10ubuntu0.1, OpenSSL 1.0.2g 1 Mar 2016。在伺服器配置中,我啟用了各種轉發以及PermitTunnel選項。我已經重新啟動了 sshd 守護程序。apparmor為了以防萬一,我也禁用了。沒有 selinux 正在執行。我也這樣做modprobe tun以防萬一(儘管例如 openvpn 可以正常工作)。該伺服器在 Google Cloud 和 Ubuntu 級別上都啟用了 ip 轉發。ufw已禁用,Google 防火牆已完全打開。

首先,我嘗試使用此命令進行連接:

sudo ssh -i ssh_key -w any:any root@ip -vvv -o Tunnel=point-to-point

以上失敗,並且在故障點附近來自 ssh 的調試輸出是:

debug1: Authentication succeeded (publickey). Authenticated to xxxxxxxx. debug1: Requesting tun unit 1 in mode 1 debug1: sys_tun_open: tun1 mode 1 fd 4 Tunnel device open failed. Could not request tunnel forwarding. debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0

由於上述失敗,我認為我應該先創建 tun 設備。這就是我所做的:

在客戶端: sudo ip tuntap add tun1 mode tun sudo ip link set tun1 up sudo ip addr add 172.32.0.1/24 peer 172.32.0.2 dev tun1

在伺服器上: sudo ip tuntap add tun1 mode tun sudo ip link set tun1 up sudo ip addr add 172.32.0.2/24 peer 172.32.0.1 dev tun1

但這又以同樣的方式再次失敗。

我嘗試在本地機器上執行 sshd 伺服器並連接到 localhost。但後來它又以同樣的方式失敗了。

我嘗試了本地埠轉發,它起作用了。

如何使用 openssh 正確設置 vpn?我徹底搜尋了網路,但沒有任何幫助。

我的 Arch Linux 也有同樣的問題。ArchLinux 安裝在客戶端和伺服器上。openssh 的版本是7.7p1-1. 作為臨時解決方案,我安裝了 openssh 版本7.6p1-2

OpenSSH_7.7p1 Debian-2,OpenSSL 1.0.2o 2018 年 3 月 27 日也有同樣的問題。

使用此腳本降級 ssh 後:

wget http://ftp.us.debian.org/debian/pool/main/o/openssh/openssh-client_7.4p1-10+deb9u3_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/o/openssh/openssh-sftp-server_7.4p1-10+deb9u3_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/o/openssh/openssh-server_7.4p1-10+deb9u3_amd64.deb
dpkg -i *.deb
systemctl restart ssh
systemctl status ssh

VPN 再次開始工作。

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