我试图用SSH来做一些非常不寻常的事情(对我来说),但是我不能得到它的工作,希望你能帮上忙。
我想用我的Macbuild立到远程服务器的连接。 到现在为止还挺好。 现在,棘手的一点,连接到远程服务器build立我想然后启动连接从远程服务器返回本地计算机。 我知道,疯了。 基本上我需要跳过这些环节才能够浏览远程服务器,然后将文件信息发送回本地机器,以便本地机器上的应用程序可以处理这些信息。 希望这是有道理的!
现在,如果我login到远程服务器后SSH回到本地机器,terminal将坐在那里呼啸而过,即使-v也没有错误。
我试图通过查看$ SSH_CLIENTvariables的输出来发现我应该调用的位置,但是我在一个标准的vanillanetworking连接(没有静态IP地址),我认为这可能是导致问题的原因。
我已经确定的事情:我在Mac(OS X 10.6.4)上,并且在系统偏好设置/共享中启用了远程loginfunction如果我尝试从局域网外的另一台计算机上将SSH连接到我的Mac,我可以连接没有问题。 如果我尝试从远程服务器SSH到另一台服务器(不是本地计算机),我可以连接没有问题。
所以上述事实让我觉得我对本地和远程机器上的防火墙等方面都很清楚。
我肯定我在这里肯定会错过一些很明显的东西,但是对于我来说,我无法控制它。
任何帮助,链接或一般推动正确的方向将不胜感激!
如果当你连接回你的本地,它可以让你login之前挂,那么这不是答案。 如果你没有那么远,你可能没有回到你的Mac(要么没有到达任何地方,要么在网关上打SSH)。 尝试一个反向隧道(它将需要在您的服务器sshd_config设置为开启的GatewayPorts,但我相信这是默认的):
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
这应该允许您正常连接到服务器,但也打开一个隧道,以便您可以连接到端口2000(任何端口超过1024应该工作),所以you@yourserver$ ssh -p2000 user@localhost
编辑:将主机名更改为本地主机
您的本地机器是否可以从服务器访问? 你能平吗? 我问,因为你在做什么,如果你的机器可以访问应该工作。 您的服务器是在互联网上还是在局域网中,同一个子网?
无论如何,如果你只需要编辑一个文件,为什么不简单地使用scp将文件复制到本地机器? 您可以使用ssh浏览远程服务器上的文件,并在有path时在本地机器(在另一个terminal中)input:
scp user@server:/path/to/file/on/server /local/path/to/save/file
把文件放回去,再次切换path。
Obs:你不需要最初的ssh连接来使用scp – 它会创build一个新的连接
以上是如果你需要在terminal访问它。 在Linux上(当然在Mac上,但我不知道该怎么做),你可以在networking中安装一个ssh远程位置,并使用连接,就像使用本地磁盘一样(这是sftp,连接的forms如下: sftp://user@server:/path/to/mount ,我想这是你需要的而不是远程terminal连接,所以你可以用Mac应用程序直接编辑文件。
你可能也想看看sshfs (你需要MacFuse )。 这使您可以在远程机器上安装目录并像访问机器上的普通文件夹一样访问它们。 最重要的是,你仍然可以进入机器并创build/search你需要的文件。 传输它们就像传输本地文件一样简单。