在 TrueNAS 上

在 TrueNAS 上

我有一台 freenas 服务器,其 ssh 端口已向互联网开放。我想访问 nas 所在网络内的服务器,因此我使用了如下 ssh 端口转发:ssh -N -L 8080:host:80 [email protected]

一开始运行似乎没问题,当我尝试使用该端口转发时,我收到以下消息:

channel 2: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed

我已经检查了选项AllowTcpForwardingPermitOpen正如这里提到的:https://unix.stackexchange.com/a/58756/170512 这并没有解决我的问题。

答案1

问题似乎是我使用了 root 用户。

  • ssh -N -L 8080:主机:80@host ~ 不起作用
  • ssh -N -L 8080:主机:80用户@host ~ 确实有效

我不确定这是否特定于 freenas、bsd 或 sshd。

答案2

在 TrueNAS 上

我的用户和root对我来说都是有用的,但这可能是因为我全局启用了端口转发。

您可能需要在 3 个不同的 SSH 配置中更改几个设置:

grep -R AllowTcpForwarding /etc/

1./etc/sshd_config

- # GatewayPorts no
+ GatewayPorts yes

2./etc/local/ssh/sshd_config

- AllowTcpForwarding no
+ AllowTcpForwarding yes

3.https://truenas.local/ui/services/ssh

x Allow TCP Port Forwarding

4. 重启!

midclt call service.restart "ssh"

在 macOS 上

对于 macOS 和 SMB/CIFS 的情况,您无法连接到 localhost 上的 445,因此您必须通过非“localhost”和非“127.0.0.1”的地址来访问它,因此您必须在 hosts 文件中创建一个条目:

/etc/hosts

- 127.0.0.1   localhost
+ 127.0.0.1   localhost localnas
# ssh -nNT -L <local-lan>:<remote-lan> <wan-host>
ssh -nNT -L localnas:10445:127.0.0.1:445 [email protected]

Finder > 前往 > 连接服务器

smb://localnas:10445

注意:10445是任意的,超过1024就可以。

通过互联网

假设:

  • 您将端口转发22627(WAN) 到22(LAN / NAS)
  • foobar您有一个具有 smb 和 ssh 访问权限的用户

.ssh/config应该包含如下内容:

Host remotenas
    Hostname truenas.example.duckdns.org
    User foobar
    Port 22627

你可以像这样启动端口转发:

ssh -nNT -L localnas:10445:127.0.0.1:445 remotenas

你可以通过 Finder 进行连接,如下所示:

smb://foobar@localnas:10445

相关内容