透过ssh使用VNC(VNC over SSH)

除了SSH,linux平台还可以使用图形化的方式访问远端机器,最流行的当属VNC

然而VNC连接并不安全,容易被拦截,监听,所以更安全的方式是透过SSH隧道来使用VNC,SSH的安全性是有保证的。

很简单,使用SSH做端口转发

终端方式

$ ssh -L 5900:localhost:5900 -N -f sshserver_ip_or_name

参数

-L [bind_address:]port:host:hostport 将本地主机(ssh客户端)的指定端口转发到远端主机的指定端口,-L 5900:localhost:5900具体是指将本地任意接口的5900端口转发到远端localhost接口的5900端口。VNC服务器的默认起始端口为5900,然后再加上display号,如果VNC服务器在0号display上监听,其监听端口为5900+0也就是5900,如果在1号display上监听,则其监听端口为5900+1也就是5901,以此类推。

-N 不执行远端命令。此SSH连接只做端口转发之用。

-f 将SSH放到后台执行

然后使用vnc viewer连接本地的5900端口即可

$vncviewer 127.0.0.1[:5900]

图形方式

ssvnc – Enhanced TightVNC viewer with SSL/SSH tunnel helper
ssvnc内置SSL/SSH支持,提供安全的VNC连接,详情见ssvnc官方

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 SSH 隧道中使用 VNC,您需要执行以下步骤: 1. 在远程 Linux 机器上安装并启动 VNC 服务器。您可以使用 TightVNC 或 TigerVNCVNC 服务器。 2. 在您的本地计算机上打开终端,并使用以下命令通过 SSH 连接到远程 Linux 机器: ``` ssh -L <local-port>:localhost:<remote-port> <username>@<remote-IP-address> ``` 其中 `<local-port>` 是您本地计算机上用于 VNC 连接的端口号,例如 5901;`<remote-port>` 是远程 Linux 机器上 VNC 服务器监听的端口号,例如 5901;`<username>` 是您在远程 Linux 机器上的用户名;`<remote-IP-address>` 是远程 Linux 机器的 IP 地址。 3. 输入您的密码以进行身份验证。 4. 现在,您已经通过 SSH 连接到远程 Linux 机器,并且已经通过 SSH 隧道将本地计算机的端口号映射到远程 Linux 机器上的端口号。 5. 在本地计算机上打开 VNC 客户端,并连接到 `localhost:<local-port>`。 6. 输入您在远程 Linux 机器上设置的 VNC 访问密码。 7. 现在,您可以在本地计算机上看到远程 Linux 机器的桌面环境了。 请注意,通过 SSH 隧道使用 VNC 可以提供更安全的连接,因为所有数据都是通过加密的 SSH 通道传输的。但是,由于数据需要在本地计算机和远程 Linux 机器之间传输,因此可能会对性能产生影响。此外,如果您需要与多个远程 Linux 机器建立 VNC 连接,则需要设置不同的本地端口号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值