Linux基础之远程管理常见命令


远程管理在实际工作中,常用于在本机上对服务器进行操作。

一. 关机/重启

shutdown 选项 时间 命令可以安全的 关机 或者 重新启动系统。

选项含义
-r重新启动

注:

  • 不指定选项和时间,默认一分钟后关闭电脑
  • 维护远程服务器时,最好不要关闭系统,而是重新启动系统

常用示例:

# 立刻关机 now表示现在
shutdown now

# 立刻重启
shutdown -r now

# 五分钟后重启 
shutdown -r +5

# 在10:00重启
shutdown -r 10:00

# 取消之前的 关机/重启 计划
shutdown -c 

二. 查看网卡信息和检查连接信息

01. 网卡 和 IP地址

  • 网卡是一个专门负责网络通讯的硬件设备
  • IP 地址是设置在网卡上的地址信息

我们可以把 电脑 比作 电话网卡 相当于 SIM 卡IP 地址 相当于 电话号码

02. ifconfig

ifconfig 可以查看计算机当前的网卡配置信息。

配置信息分为两个部分,本地 IP 地址包含在第一部分,第二部分中的 127.0.0.1本地环回地址,一般用来测试本机网卡是否正常。

ifconfig | grep inet 可以更清晰的查看到 IP 地址。

注:

  • 一台计算机中有可能会有一个 物理网卡 和 多个虚拟网卡,在 Linux 中物理网卡的名字通常以 ensXX 表示。

03. ping

ping 一般用于检测计算机到目标计算机的连接是否通畅,并且可以用 Ctrl + c 来终止命令执行。

网络上的机器都有 唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在。

因为 域名最终指向的就是IP地址 , 所以我们也可以用ping向一个域名。 例如:

ping www.pornhub.com

三. 远程登录和复制文件

01. SSH

(1). SSH相关背景知识

在日常工作中,我们通常都是在本地远程登录到服务器上进行维护操作的。在 Linux 中 SSH 是非常常用的工具,通过 SSH客户端 我们可以直接连接到运行了 SSH服务器 的远程机器上。

SSH客户端 是一种使用 Secure Shell (SSH) 协议连接到远程计算的软件程序。

  • SSH 是目前较可靠,专为 远程登录会话和其他网络服务 提供安全性的协议;可以有效防止远程管理过程中的信息泄露。 通过 SSH协议 对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗
  • 通过 SSH 传输的数据是可以进行压缩的,所以可以大大加快传输数据的效率

SSH服务器 的默认端口号为 22,如果是默认端口号,那么在连接的时候就可以省略。

拓展

  • 端口号:通过 端口号可以找到计算机上运行的应用程序。
  • 常见服务端口号有:
服务端口号
SSH服务器22
web服务器80
HTTPS443
FTP服务器21

(2). SSH客户端的简单使用

Linux 或者 Unix(Mac就是基于Unix的) 操作系统上是自带SSH服务的,可以直接在终端中使用命令来连接机器。

ssh [-p port] user@remote
  • user 是远程机器上的用户名,如果不指定就默认为当前用户 ;
  • remote 是远程机器的地址,可以是 IP地址域名别名
  • portSSH Server 监听的端口,如果不指定默认值为 22
  • 在实际工作中可能 SSH服务器 的端口不是 22 ,那么就需要 -p 选项来指定正确的端口 ;
  • 使用命令 exit 可以退出当前用户的登录。

Windows 系统中不能使用SSH命令,我们可以安装 Putty 或者 XShell 客户端来完成远程登录管理操作。
下载地址: Putty /// XShell


02. SCP

SCP 就是 secure copy, 是一个在 Linux 下用来远程拷贝文件 的命令。它和 SSH 的格式基本相同,但是需要注意的是,在指定端口时用大写的 P 而不是小写。

选项含义
-r若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口

示例:

# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py

# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py

# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop

# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo

scp 这个终端命令只能用在 Linux 或者 Unix 系统下,如果在 Windows 系统中可以安装 FileZilla 使用 FTP 进行文件传输。

  • FileZilla 下载地址
  • FileZilla 在传输文件时,使用的是 FTP 服务 而不是 SSH 服务,因此端口号应该设置为 21

注:FileZilla 连接 Linux 失败,显示状态为 :尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败, 解决方法请点击此博客


03. 免密码登录 和 配置别名

使用 Linux 系统作为客户端,在与服务器远程连接或传输文件时,总是要输入服务器密码,还要输入长长一串 [-p/P port] user@remote 。每登陆一次,都要输入一次,实在是很麻烦。

我们可以分别利用 设置免密码登录配置经常连接的主机的别名 来解决这一麻烦。 这两个设置都是通过修改 SSH 配置信息完成的,而有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下。

(1). 设置免密码登录

首先我们来了解一下 非对称加密算法

  • 使用 公钥加密 的数据,需要 私钥解密
  • 使用 私钥加密 的数据,需要 公钥解密

步骤一: 在终端中执行一次 ssh-keygen 命令就可以生成,一个名为 id_rsa 的私钥文件和另一个名为 id_rsa.pub 的公钥文件。

步骤二: 执行 ssh-copy-id -p port user@remote 命令,将公钥文件发给服务器。 这样,再次登录服务器的时候,就不需要输入密码了。

免密原理:
在完成上面的操作后,本地拥有 公钥、私钥两个文件,在传输数据的时候使用 私钥 对数据加密并发送到服务器。 而服务器拥有 公钥文件, 可以对数据解密。 完成操作后,将数据用 公钥 加密并返回给本地。
这一来一回的过程中,数据在网络中传输时,都是加密的。 避免了数据被盗取的风险,并在步骤二中已经确认过本地请求远程登录者的身份后(简单的说就是步骤二中输入过一次服务器密码 o(╯□╰)o ),就可以进行免密登录了。

(2). 设置别名

步骤一:.ssh 目录下执行命令 touch config 。创建一个名为 config 的文件。

步骤二:config 文件中追加以下内容:

Host 别名
    HostName ip地址
    User 用户名
    Port 端口号

这样就可以使用命令 ssh 别名 来实现远程登录了,同样也可以在 scp 命令中使用别名。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页