Questions tagged «ssh-tunneling»

SSH隧道提供基于SSH协议的加密通道。

2
通过SSH反向隧道的远程桌面以替换TeamViewer
我想通过SSH(反向)隧道打开从笔记本电脑到桌面的远程桌面会话。那应该很简单(或至少可行),对吗?到目前为止,我一直在使用Team Viewer登录到远程桌面。我希望在没有Team Viewer的情况下获得类似的结果。 这是我的SSH隧道的样子: laptop--->nat--->middleman<--nat<--desktop 所有机器都运行Linux(主要是Kubuntu 12.04或OpenSuse 12.3)。我不能在nat路由器上更改任何端口或进行任何配置更改。 我将描述我的SSH隧道,因为理解这对于解决VNC /远程桌面问题(这是我的问题的核心)似乎是必要的。关于这条腿: middleman<--nat<--desktop ...它是如何建立的: autossh -M 5234 -N -f -R 1234:localhost:22 user@middleman.com 关于这条腿: laptop--->nat--->middleman 我可以按以下方式连接到中间人: me@laptop:~$ ssh -i ~/.ssh/id_rsa admin@middleman 但是,我真正需要做的是直接连接到桌面,而不是中间人。为此,我在中间人上使用netcat(“ nc”)。基于此,似乎需要nc。所以我在笔记本电脑上编辑SSH配置文件以使用ProxyCommand和nc: me@laptop:~/.ssh$ nano config 内容是: Host family_desktops ProxyCommand ssh middleman_fqdn nc localhost %p User admin PasswordAuthentication no IdentityFile ~/.ssh/my_id_rsa 哪里middleman_fqdn像“ middleman.com” …

1
ssh连接打开后,如何设置端口重定向?
我在客户端和服务器上都使用openssh。我知道我可以通过ssh 运行ssh -L或ssh -R设置一些端口重定向。但是,由于它们是命令行参数,因此必须在打开连接之前编写此类重定向。 我可以使用命令行ssh客户端即时设置端口重定向吗? 当我使用PuTTYssh客户端时,可以在连接已经打开的情况下以交互方式设置端口重定向,而无需断开或重新连接,因此我知道在技术上是可行的。

4
如何先ssh -Y然后su-<另一个用户>并仍将X应用程序转发到本地计算机
“获取”(即在本地绘制)一个远程运行的linux应用程序很容易:如果我ssh -Y到远程计算机并运行一个应用程序,那么该应用程序肯定会在我的本地桌面弹出。 但是,如果我在远程计算机中被切换时却将我su转移到其他用户,则无法将X应用程序转发到本地计算机。它说wrong authentication。 我不确定该如何解决。将echo $DISPLAY仍然是正确的(由初始设置ssh -Y登录),但会话cookie大概只能设置为登录SSH的初始用户。 如何克服这个困难并转发由不同用户运行的其他X应用程序? 我不直接使用ssh的原因是因为我不希望通过ssh可以访问该用户(这是“ virtualbox”用户,这显然是试图将ssh连接到该服务器的机器人的简单目标)...
13 x11  ssh-tunneling  su 

4
确定为OpenSSH RemoteForward动态分配的端口
问题(TL; DR) 动态分配端口以进行远程转发(aka -R选项)时,远程计算机上的脚本(例如来自的源.bashrc)如何确定OpenSSH选择了哪些端口? 背景 我使用OpenSSH(在两端)连接到我们与多个其他用户共享的中央服务器。对于远程会话(暂时而言),我想转发X,cups和pulseaudio。 最简单的是使用-X选项转发X。分配的X地址存储在环境变量中DISPLAY,从此我可以在大多数情况下确定相应的TCP端口。但是我几乎不需要,因为Xlib非常荣幸DISPLAY。 我需要类似的机制来制作杯子和Pulseaudio。两种服务的基础都以环境变量CUPS_SERVER和的形式存在PULSE_SERVER。以下是用法示例: ssh -X -R12345:localhost:631 -R54321:localhost:4713 datserver export CUPS_SERVER=localhost:12345 lowriter #and I can print using my local printer lpr -P default -o Duplex=DuplexNoTumble minutes.pdf #printing through the tunnel lpr -H localhost:631 -P default -o Duplex=DuplexNoTumble minutes.pdf #printing remotely mpg123 mp3s/van_halen/jump.mp3 #annoy co-workers PULSE_SERVER=localhost:54321 mpg123 …

2
ssh错误消息中的通道号指的是什么?
在下面的示例中,通道号对应什么?服务器上有哪些?客户端上有哪些? $ ssh -L1570:127.0.0.1:8899 root@thehost Password: Last login: Fri Aug 9 13:08:44 2013 from theclientip Sun Microsystems Inc. SunOS 5.10 Generic January 2005 You have new mail. # channel 2: open failed: administratively prohibited: open failed channel 3: open failed: administratively prohibited: open failed channel 2: open failed: administratively prohibited: …

3
SSH隧道是否有缺点?
我最近“购买”了一个我想用作代理的VPS,以便能够使用某些德国无法到达的站点和东西。 由于我还懒得设置Squid和OpenVPN(目前我认为是必需的),因此我使用ssh-tunneling。 现在过了两周后,我问自己ssh隧道是否还不错,或者-这就是我的问题-我是否需要注意任何警告/缺点/缺点?

2
通过SSH通过另一台服务器隧道传输yum流量
我正在公司代理后面运行Fedora桌面,该代理阻止了yum流量(特别是*.gz和*.bz2)。我可以通过ssh访问单独的RedHat机器,该机器可以下载喜欢的任何东西。 当我执行yum update其他yum命令时:是否可以将该流量路由到RedHat机器来为我执行下载?我在RedHat机器上没有root用户访问权限,但是我可以登录并使用wget下载文件。如果是这样,怎么办?

1
从服务器到客户端启动ssh连接
我们可以轻松地通过连接ssh到具有公共IP的远程计算机。 但是现在我有一台没有公共IP的远程计算机,我需要从具有公共IP的计算机连接到它。因此,远程计算机应启动此连接(添加客户端)。 我需要它,因为我的祖父在没有公共IP的计算机上,有时他的系统需要帮助。 在Windows上类似的情况下,我使用VNC连接(通过TightVNC),TightVNC服务器具有“添加客户端”选项:用户刚刚输入了客户端的IP(即我的公共IP),客户端已经处于“监听模式”,并且当“服务器”添加客户端时,连接被初始化。 因此,是否可以通过SSH连接执行相同的技巧?

2
在SSH隧道上创建VNC会话时,“通道3:打开失败:受管理禁止:打开失败”
通过隧道式SSH连接创建VNC连接时,出现错误: channel 3: open failed: administratively prohibited: open failed 我发现只有当我没有像username使用隧道VNC连接尝试连接的主机那样本地登录到主机时,才会发生这种情况。SSH隧道: ssh -p 6000 -L 5901:127.0.0.1:5901 username@192.168.0.2 VNC连接: vncviewer localhost:1 我尝试在/etc/ssh/sshd_config使用AllowTunnel yes和不使用设置的情况下调整设置。(在每次更改后,我都确实重新启动了ssh :)service ssh restart但是,如果我在远程主机上运行本地会话(即,我以username本地身份登录),该错误就会消失。还有其他人看到此现象吗?似乎我应该能够远程启动VNC并访问它,而不必也必须本地登录。


6
在启动时进行自动反向SSH连接
我有一台位于NAT后面的PC,该PC与我的Digitalocean VPC建立了反向SSH连接。我在家中利用这种反向的SSH连接登录到我的办公室PC(我被授权这样做)并复制文件并做其他重要的事情。 尽管不是很经常,但我注意到我的办公室PC重新启动(由于电源故障等),并断开了与VPC建立的反向SSH连接。在这种情况下,我无法从家用PC连接到办公室PC。 我运行以下脚本来建立反向连接+动态代理,以匿名化在办公室PC上生成的流量(因为我不需要共享浏览信息)。 autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC 重新启动后,由于我不在物理上,因此无法在办公室PC上再次运行该脚本。为了解决此问题,我安装了以下crontab。 注意:rev.sh文件包含以上行。证书“ digitalOcean”和rev.sh位于Ubuntu home。因此,当我./rev.sh在Ubuntu终端中执行时,我将获得一个动态代理,并且还可以访问ym DigitalOcean服务器。此方法有效100%。 但是,当我通过以下方法安装chrontab时,我的ubuntu PC永远不会创建动态代理。我可以看到这是因为,当我从Google Chrome浏览器检查此代理时,它表示代理正在拒绝连接。 这是我尝试过的cronejobs根cronejobs。我也以普通用户的身份尝试了这些,但仍然无法正常工作。 @reboot bash /home/user/rev.sh @reboot /home/user/rev.sh @reboot cd /home/user &amp;&amp; ./rev.sh 然后,我在当前时间之前的几分钟安装了一个chrontab,并等待其执行。 24 12 8 * * * bash /home/user/rev.sh 24 12 8 * * * /home/user/rev.sh 这些也没有执行。 请足够友好地帮助我发现我的错误。关于我的问题,这个网站上有很多类似的问题。因此,我提到了许多答案,但是似乎没有一个有用的答案。

2
通过中间人服务器的SSH隧道-如何一步连接(使用密钥对)?
我的问题基本上是如何将现有的两个步骤变成一个步骤。 我使用这样的中间人服务器在两台计算机之间建立了可工作的SSH隧道: Kubuntu_laptop---&gt;nat_fw---&gt;Debian_Server&lt;--nat_fw&lt;--Kubuntu_desktop 我目前要做的是从Kubuntu_laptop到Debian_Server的SSH,然后从Debian_Server到Kubuntu_desktop的SSH。我想用bash在我的Kubuntu_laptop上发出一个SSH命令,以使我连接到Kubuntu_desktop(shell / bash)。 我现在使用的命令如下。步骤1: me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server 第2步: admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost 然后,我通过SSH(来自kubuntu_laptop)连接到kubuntu_desktop。 所有SSH连接都需要RSA密钥。一直禁用密码登录。并请注意,两台计算机上的计算机用户帐户不同。 关于这条腿的连接: Debian_Server&lt;--nat_fw&lt;--Kubuntu_desktop 建立方法如下: autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22 注意Kubuntu_desktop以user@mydebian.com(不是admin @ debian_server)连接到中间人。但是当我连接到Kubuntu_desktop时,我以管理员用户身份连接。 我无法更改现有的监视端口(5234)或远程(-R)端口号(在此示例中为1234)。我无法更改SSH安全性以允许密码登录。我无法打开任何新的防火墙端口。我无法更改用户帐户(笔记本电脑除外)。

1
转发所有端口SSH
我有关于SSH /端口转发的问题。我在任何地方都找不到解决方案,也不知道是否有解决方案。 我家里的NAT盒后面有一个服务器。我已经将端口从我的NAT盒转发到服务器的端口22上的SSH,因此,my_nat_public_ip:22当我在旅途中时,我可以连接到它,并且它就像一种魅力。 现在,我知道我也可以访问服务器的任何端口,甚至无需为其配置NAT框。确实,我可以像这样进行动态端口转发: ssh -D 1080 user@my_nat_public_ip 然后通过设置浏览器连接到服务器的any_port端口,否则将localhost:1080用作SOCKS代理,并指向my_local_server_ip:any_port。 我想做的是像这样的命令 ssh -D --local_alias=local_alias user@my_nat_public_ip 如果我访问local_alias:any_port,它将转发到my_server:any_port 那有可能吗?是否有SSH选项可以执行此操作?它只是简单得多,因此可以在不同的服务器上进行多个动态端口转发。

2
如何从远程服务器登录到我自己的PC?
为了进行实验,我需要从位于相同域(即大学网络)下的远程PC登录到自己的PC。在这种情况下,如何使用SSH进行远程登录? 例如,我在University X的两台计算机上有一个帐户,me@machine_a.cs.x.ca并且me@machine_b.cs.x.ca我的个人笔记本电脑帐户是nawshad@ubuntu。我需要提供什么额外的信息?

1
解决具有主连接和端口转发的两因素SSH身份验证吗?
问题1.0 我正在仅支持两因素验证(禁用密钥对验证)的服务器上工作。因此,每当我的SFTP客户端每次要上传文件时,它都会要求我提供令牌... 3分钟后变成not_very_nice UX。 解决方案1.0 所以我了解了SSH多路复用,现在我可以手动(从终端)打开一个主连接,所有其他ssh连接都可以在顶部多路复用,如下所示: $ ssh example_com_master Verification code: (/me enters the token code) Password: (/me enters my pass) Welcome to Ubuntu 14.04 blah blah.... Last login: Wed Oct 1 11:24:15 2014 from 12.34.56.78 $ 然后,从另一个终端或另一个软件: $ ssh my.example.com Last login: Wed Oct 1 16:34:45 2014 from 12.34.56.78 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.