手把手指导:PC远程维护实用教程

译文
运维 系统运维
如果你组装了一台电脑,安装了Linux发行版,以便非专业用户或家人使用,你如何能够增添这项功能:重新登录上去,远程维护Linux系统?本文的实用教程手把手教你解决PC远程维护的难题。

【51CTO译文】如果你组装了一台电脑,安装了Linux发行版,以便非专业用户或家人使用,那么你已在为他们提供一种安全可靠、功能完备的计算平台这条道路上迈出了头一步。不过,要是这个用户需要一番手把手指导,那么你迟早需要执行一些维护工作;毕竟,有些维护工作通过电话是没法向对方解释清楚的。

本教程涉及安装便于命令行访问和建立安全隧道的SSH,安装便于远程桌面访问的VNC,以及安装便于整体系统配置的Webmin。请注意:一旦你将SSH隧道访问机制建立并运行起来,就可以通过局域网,远程执行本教程的其余部分。实际上,如果你之后直接跳到端口转发部分,就可以通过互联网,处理本教程的其余阶段。

首先,假设你的客户端电脑(你的电脑)和远程电脑(对方的电脑)都连接到了你的局域网。然后,我们将在主人的家里安装一个路由器,并安装一个动态DNS服务器,这样我们就能在互联网上找到那台远程电脑。

使用基于SSH的VNC,获得远程桌面访问权。

逐步指南

第1步:安装网络

该教程假设,远程电脑和客户端电脑都接入到了你的局域网上。记下远程电脑的登录用户名和密码,及其IP地址(键入ifconfig,即可找到)。

第2步:安装SSH

想启用远程终端登录,就要安装SSH服务器,为此键入sudo apt-get install openssh-server(在红帽Linux发行版上,键入oryum -y install openssh- server)。以root用户身份,在文本编辑器中打开/etc/ssh/sshd_config,开始配置SSH。

第3步:配置SSH服务器

更改PubkeyAuthentication这一行,以便将其改成PubkeyAuthentication yes。确保PasswordAuthentication被设置成no。这是由于,我们想使用经过加密的密钥,而不是使用用户名和登记,远程登录到该电脑。保存文件,键入sudo service ssh restart,即可重启服务器。

第4步:生成密钥

我们需要生成一个公开密钥和一个私有密钥,那样我们无需使用密码和用户名,就能登录到SSH。键入ssh- keygen -t dsa,即可开始生成密钥。系统提示时,你可以按回车键,接受默认值;不过系统询问时,就要键入密码。

第5步:拷贝密钥

将公开密钥拷贝到将用于远程维护的那台电脑上。你只要在客户端电脑上键入ssh-copy-id [远程登录名]@[远程电脑的IP地址],就可以执行这一步。

第6步:测试SSH

通过键入ssh [远程用户名]@[远程IP地址],就可以借助SSH,从客户端电脑登录到远程电脑。这应该会为你在另一台电脑上提供命令行,而不提示你输入密码。用几个命令试一下,键入Ctrl+D组合键,即可终止会话。

第7步:文件复制(SSH)

你可以借助scp命令,将文件复制到远程电脑上,或者从远程电脑复制文件到本地。scp [远程用户]@[远程IP]:[本地文件] [目标目录],即可将一个或多个文件复制到远程电脑上;反之,则使用scp [本地文件] [远程用户]@[远程IP]:[目标目录]。

第8步:Web代理(SSH)

假设用户抱怨他们访问不了某个网站,或者访问不了整个互联网。我们可以使用SSH隧道机制来测试连接。键入ssh -D 8888 [用户名]@[IP地址],即可开始测试。这会建立一台本地代理服务器,该服务器其实通过远程电脑访问互联网。然后,你可以配置火狐浏览器,以便通过该代理服务器来访问互联网,只要在localhost上指定Socks 5代理服务器。如果你可以通过SSH登录到另一台电脑,并访问那个有问题的网站,那么问题肯定出在另一台电脑上的软件上,而不是出在网络上。

第9步:运行X应用程序(SSH)

你可以使用隧道来远程运行X应用程序。比如说,你要做的只需在GUI应用程序中编辑配置,无需使用全面的桌面共享。键入ssh -X [用户名]@[远程IP],即可打开连接。然后,你可以从命令行像平常那样启动应用程序。键入firefox,即可在远程电脑上启动火狐浏览器,并在你的本地桌面上与它进行联系。你可以把诸多操作简化为一个命令,只需键入ssh -f -T -X [用户名]@ [ip地址] [应用程序名称]。

第10步:安装VNC服务器

我们准备安装VNC,以便访问远程桌面。这个情况下,我们将忽视VNC服务器自己的安全功能,而是完全改而通过SSH建立隧道。首先是把VNC服务器安装在远程电脑上,只需键入sudo apt-get install x11vnc(或在红帽Linux发行版上,键入yum install vnc-server)。

第11步:建立VNC隧道,开启服务器

为VNC建立一条SSH隧道,只需键入ssh -L 5900:localhost:5900 [远程用户]@ [远程IP]。这个命令除了建立隧道外,还会启动隧道连接。在该终端中,键入x11vnc -safer -localhost -nopw -once -display :0。

第12步:连接至VNC

市面上有几款VNC客户软件,但本示例假设你安装了Vinagre。使用该客户软件连接至localhost处的VNC服务器。切记,我们连接到localhost,是因为我们在前一个步骤中建立了SSH隧道,以便所有数据包通过端口5900发送到远程电脑。你现在应该有了远程桌面访问权,可以访问远程电脑。要是这条连接有任何问题,请仔细检查终端中的文本输出,找找有无错误。

第13步:安装Webmin

进入到Webmin网站(www.webmin.com)的下载页面,下载适合你Linux架构的程序包。以Debian为例,安装.deb文件,为此只需键入sudo dpkg -i [你已下载的.deb文件的名称]。接下来,键入sudo apt-get -f install,即可安装依赖项。以红帽Linux为例,键入yum install [RPM的名称]。

第14步:测试Webmin

默认情况下,Webmin在SSL模式下运行,所以只要浏览到https://[IP address of remote computer]:10000,即可访问它。接受它所提供的浏览器证书。以Ubuntu为例,使用root用户名和密码,或者使用可以运行sudo的普通用户名和密码。将来,可以通过隧道连接至Webmin,以获得***的安全性,没必要在路由器上开启另外的端口。我们使用了与VNC同样的方法。键入ssh -L 10000:localhost:10000 [用户名]@[IP地址],目的是为了建立它,然后浏览到https://localhost:10000。

第15步:建立远程网络

现在是让我们为远程维护而建立的那台电脑连回到总部的时候了。一旦该电脑重新连接至网络,就要确保它可以像平常那样访问互联网。

第16步:设置静态IP地址

Linux发行版不一样,如何设置静态IP地址的方法也不一样。在Ubuntu电脑上,点击控制面板中的Network(网络)图标,选择Edit…(编辑…),然后选择IPv4 Settings(IPv4设置)选项卡。从Method:(方法:)下拉列表中选择Manual(手动)。现在,添加一个属于当前子网成员的IP地址。比如说,如果键入ifconfig后显示当前IP地址是192.168.0.5,就选择一个比它高的地址,比如192.168.0.100。你可能得为你的互联网服务提供商(ISP)手动添加DNS服务器地址。上网搜索一下。接受变更内容,重置电脑。

第17步:端口转发

充分利用路由器的说明文档(或Portforward),建立端口转发机制。你需要将端口22转发至我们已设置的那个静态IP地址。

第18步:在互联网上找到远程IP地址

你可以要求运行远程系统的对方只要访问whatismyip.com,然后通过电子邮件将其当前IP地址发过来,但是建立动态DNS却是一种更可靠安全的解决方案。进入到No-IP网站(www.noip.com),设置一个免费帐户。现在安装ddclient程序包。

第19步:安装ddclient

在/etc/ddclient.conf中添加/更改下面这几行:

  1. protocol=dyndns2 
  2. use=webweb=checkip.dyndns.com/, web-skip='IP Address' server=dynupdate.no-ip.com 
  3. login=user name 
  4. password='password' 
  5. [hostname].no-ip.biz 
  6. run_daemon=true 

现在重启ddclient,只需键入sudo service ddclient restart。

原文链接:http://www.linuxuser.co.uk/news/pc-remote-maintenance-tutorial

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2009-10-28 14:25:17

VB.NET Sock

2021-12-15 14:39:50

LinuxGPG加解密文件

2009-07-19 15:02:56

2015-07-28 14:27:44

2022-01-25 17:05:44

ArkUI_eTS操作系统鸿蒙

2010-01-04 09:36:05

2021-02-02 13:31:35

Pycharm系统技巧Python

2023-12-13 08:17:24

JPDAJavaDebug

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印机

2014-04-24 10:44:43

Android摇晃刷新

2009-12-15 16:44:07

水星路由器设置教程

2023-07-04 07:37:20

AzureOpenAI操作手册

2021-02-26 11:54:38

MyBatis 插件接口

2011-02-22 13:46:27

微软SQL.NET

2021-12-28 08:38:26

Linux 中断唤醒系统Linux 系统

2021-07-14 09:00:00

JavaFX开发应用

2009-07-03 16:45:25

JSP实用教程

2021-08-04 08:55:02

Socket Java开发

2020-04-14 10:20:12

MySQL数据库死锁
点赞
收藏

51CTO技术栈公众号