通常我们所需要的数据并不储存在电脑本地中。所以首先,我们将探讨如何访问及使用远程服务器。因此,我们需要使用最适配的 SSH(安全外壳协议/Secure Shell:即一种加密网络协议,该协议专为远程登录会话和其他网络服务提供安全性的协议,可以有效防止远程管理过程中的信息泄露问题。) 在 Ubuntu 终端中,你可以使用以下命令行在 SSH 协议下访问远程服务器: $ ssh user@host $ ssh -p port host 采用 key 连接: $ ssh -i key.pem user@host 远程主机执行的命令行: $ ssh -i key.pem user@host 'command' SSH Client 已经默认安装在 Ubuntu 中;如果没有的话,可以在终端使用以下命令行安装: command sudo apt-get install ssh 在 Windows 中 如果你使用的是微软的 Windows 系统,那么你需要安装一个免费的 PuTTY 程序(地址:)以保证 SSH 协议正常运行。为了使用 PuTTY 连接,我们需要经过以下几个步骤: 1. 运行 PuTTY 并键入我们的连接设置:
主机名:example.com 端口:22 (保留默认设定) 连接类型:SSH(保留默认设定) 2. 点击 Open 开始 SSH 会话框。 3. 一旦 SSH 连接已经打开,我们就会看到终端提示符会请求输入用户名。 4. 下一步,输入我们的密码。注意,当我们输入密码时,我们并不会看到任何光标移动或任何输入符号(如:*******)。这是 PuTTY 标准安全的特性,请放心继续输入。 5. 现在我们可以开始输入命令提示符了。 SSH 的重要特征就是能创建安全通道。 在 Ubuntu 中 1. 网络到世界的通道: ssh -f -N -R 22:192.168.0.1:22 [email protected] 在主机 1.1.1.1 上输入:访问主机 192.168.0.1 $ ssh localhost 设置: R:执行远程重定向(redirection)。当我们访问远程机器端口时,将会创建一个 SSH 通道(SSH-tunnel),并且连接将转向特定的主机端口。 N:禁止远程运行命令行。只有转发端口时才起作用。 f:在远程系统注册之后立即转入后台模式。 使用 SSH 通道非常有效的方式是使用通信加密(traffic encryption)。例如,如果我们使用的是开放网络,但并不希望其他人拦截我们的数据就可使用 SSH 通道。 2. 世界到网络的通道: ssh -f -N -L 80:192.168.0.1:80 [email protected] 在你的主机输入命令行::80 访问网络主机 192.168.0.1,其位于主机 1.1.1.1 的后面。 设置: L:执行一个本地端口转发。当我们访问本地机器的端口时,特定主机的主机端口将会在通道端口上创建。 从世界到网络的通道(反向通道)在我们需要访问机器,atv,但机器又被防火墙保护时需要。操作的原则即连接最开始是由远程机器发起。在这样的通道中,我们可以发送任何通信(traffic),而并不仅仅只是 SSH。 在 PuTTY 中使用 SSH 通道 In Connection -> SSH -> Tunnels, enter 源端口:22 目标端口:22 检查 box 处于「Dynamic」状态,并单击「Add」按钮。 在会话框中输入要求的「Host Name」并选择 SSH 协议。然后键入「Saved Sessions」名保存设置。例如,开奖,键入「HostName with ssh tunnel on 22」并点击「Save」。双击主机名将创建连接。 一旦 SSH 连接已经创建了,我们就可以使用浏览器了。打开一个页面,其中 IP 地址是已经确定的,现在我们就能看到地址定义为了远程机器的 IP 地址。 现在已经连接了主机,我们也就可以操作它了。但还是有一些操作需要 root 权限。为了接收到远程主机的信息(如果主机的 root 权限已经设置为允许),我们需要在终端中执行: $ sudo -s 在输入 root-user 密码后,远程主机的连接也就通过终端确定了。你将会得到 root 权限: 我们现在已经了解了连接到一台主机所需要的一切,但这对于在主机上分析数据还是远远不够的。因此,下面我们需要了解在远程主机上获取和处理数据的基本控制命令行。 在文件系统上工作 现在让我们学一学如何在文件系统上处理数据。下面是所需要了解的命令行列表。 1. 在文件和文件夹系统工作 创建一个文件夹 dir_name: mkdir dir_name 重命名文件夹 dir_name 为 dir_name2: mv dir_name dir_name2 删除文件夹/文件: rm -rf dir_name 设置: -r,-R:处理所有内嵌子目录。 -i:显示每一次处理变动的确认(confirmation)。 -f:如果错误由不存在的文件引起,不返回错误(false end);处理不需要确认。 移除所有以 file2017 为开头的文件;符号*指代任意字符,我们可以将该符号用在任何地方指代任何缺失的字符: rm -rf file2017* 创建文件 file_name.txt: touch file_name.txt 重命名文件: mv file_name.txt file_name2.txt 2. 权限 ls -la:查看目录下所有文件/文件夹的权限和所有权 -l:key 扩展输出 执行文件 file 的权限: chmod 777 file.sh 在文件夹 dir_name 中设定所有文件为 R: chmod -R 777 dir_name - set access 777 recursively 查看更多请点击: https://ru.wikipedia.org/wiki/Chmod。 3. 所有者/群组 设置文件 file.txt 的所有者和群组: chown ubuntu:ubuntu file.txt 递归地设置文件夹的所有者和群组: chown -R ubuntu:ubuntu dir_name 4. 查看磁盘空间 查看所有磁盘分区: df -h 获取文件夹大小: du -sh dir_name/ 获取文件夹大小和子目录大小: du -h dir_name/* 获得文件大小: du -h filename 下面的命令行能获取主机系统的信息: 查看可用随机存储器(RAM)和交换空间(swap) free 控制台命令行,其显示当前系统进程与信息的列表 top/htop (责任编辑:本港台直播) |