如何从远程服务器登录到我自己的PC?


9

为了进行实验,我需要从位于相同域(即大学网络)下的远程PC登录到自己的PC。在这种情况下,如何使用SSH进行远程登录?

例如,我在University X的两台计算机上有一个帐户,me@machine_a.cs.x.ca并且me@machine_b.cs.x.ca我的个人笔记本电脑帐户是nawshad@ubuntu。我需要提供什么额外的信息?

Answers:


11

正如daveh的回答所指出的那样,这可能只是发出即可ssh nawshad@ipaddress

但是,您的PC可能无法直接从Internet进行访问,即它位于某种路由器的后面。

一种选择是告诉路由器让通过您的PC的流量通过。您如何执行此操作取决于路由器。仅当您具有对路由器的管理访问权限并且不涉及其他路由器时,此选项才有效。

另一种选择是创建反向SSH隧道,即从PC上登录一台(或两台)大学计算机,同时创建从大学计算机到PC SSH端口的隧道。您上大学时就可以保持该连接的状态,这使您可以使用SSH会话创建的隧道重新登录到PC。

http://www.vdomck.org/2005/11/reversing-ssh-connection.html中已经描述了此过程;很抱歉,该链接,但我不想将所有信息从此处复制到此处。

原则上,您从PC发出的命令是(假设您要从me@machine_b.cs.x.ca连接)

ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca

然后,在上大学时,可以使用以下命令连接到家用PC:

ssh -p 10000 nawshad@localhost

您可以更改 10000两个命令中的更改为不同的值。只要确保它大于1024。

注意:在此隧道machine_b.cs.x.ca处于活动状态时,有权访问的每个人都可以尝试登录到您的系统;确保您具有正确的密码。

要关闭隧道,只需终止相应的ssh进程即可,例如

pkill -f 'ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca'

1

是。使用SSH的情况非常多。

除非您的个人计算机已经在您的大学中通过DNS注册(这不太可能),否则最好通过ipaddress进行此操作。

首先,请确保在您的个人计算机上启用了SSH。检查ps -ef | grep sshd | grep -v grep是否安装并启动sshd。

一旦运行,尝试通过IP地址SSH到您的计算机,例如 ssh nawshad@0.0.0.0,应该提示您输入密码。

祝好运!


当我运行ps -ef | grep ssh,我发现以下内容:nawshad 2898 2512 0 23:18 pts / 0 00:00:00 grep --color = auto sshd这是否意味着我没有在个人笔记本电脑中启用ssh?
纳沙德·法鲁克

否。那就是grep查询本身。SSH未在您的计算机上运行。让我更新查询以排除该问题
daveh 2012年

1
仅当PC实际上直接连接到Internet时,这才可行,这几乎是不可能的。
丹尼尔·库尔曼2012年
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.