Linux-远程管理常用命令

01. 远程管理常用命令

序号 命令 对应英文 作用
01 shutdown 选项 时间 shutdown 关机/重新启动
02 ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
03 ping ip地址 ping 检测到目标 ip地址 的连接是否正常
04 ssh 用户名@ip secure shell 关机/重新启动
05 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

02. 关机/重启

序号 命令 对应英文 作用
01 shutdown 选项 时间 shutdown 关机/重新启动

2.1 shutdown命令

  • shutdown 命令可以 安全 关闭 或者 重新启动系统
选项 含义
-r 重新启动

⚠️ 不指定选项和参数,默认表示 1 分钟之后 关闭电脑
远程维护服务器时,最好不要关闭系统,而应该重新启动系统

  • 常用命令示例
  1. 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
  1. 立刻关机,其中 now 表示现在
$ shutdown now
  1. 系统在今天的 20:25 会关机
$ shutdown 20:25
  1. 系统再过十分钟后自动关机
5. shutdown +10
  1. 取消之前指定的关机计划
$ shutdown -c

03. 查看或配置网卡信息

序号 命令 对应英文 作用
01 ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
02 ping ip地址 ping 检测到目标 ip地址 的连接是否正常

3.1 ifconfig命令

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

1 查看网卡配置信息

$ ifconfig
  1. 查看网卡对应的 IP 地址
$ ifconfig | grep inet

3.2 ping命令

  • ping 一般用于检测当前计算机到目标计算机之间的网络 是否通畅,数值越大,速度越慢
  1. 检测到目标主机是否连接正常
$ ping IP地址
  1. 检测本地网卡工作正常
$ ping 127.0.0.1

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

04. 远程登录和复制文件

序号 命令 对应英文 作用
01 ssh 用户名@ip secure shell 关机/重新启动
02 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

4.1 ssh基础

在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上

image.png
  • SSH 客户端是一种使用Secure Shell(SSH) 协议连接到远程计算机的软件程序
  • SSH 是目前较可靠,专为远程登录会话和其他网络服务 提供安全性的协议
    1) 利用 SSH 协议 可以有效防止远程管理过程中的信息泄露
    2) 通过 SSH 协议 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗
  • SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
  • SSH 服务器 的默认端口号是 22,如果是默认端口号,在连接的时候,可以省略

4.2 ssh命令

ssh [-p port] user@remote

user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote是远程机器的地址,可以是 IP/域名,或者是 后面会提到的别名
port 是 SSH Server 监听的端口,如果不指定,就为默认值 22

提示:使用 exit 退出当前用户的登录
提示:在工作中,SSH 服务器的端口号很有可能不是 22,如果遇到这种情况就需要使用 -p 选项,指定正确的端口号,否则无法正常连接到服务器
⚠️:ssh 这个终端命令只能在 Linux 或者 UNIX 系统下使用,如果在 Windows 系统中,可以安装 PuTTY 或者 XShell 客户端软件即可

Windows 下 SSH 客户端的安装

4.3 scp命令

  • scp 就是 secure copy,是一个在 Linux 下用来进行 远程拷贝文件 的命令
  • 它的地址格式与 ssh 基本相同需要注意的是,在指定端口时用的是大写的 -P 而不是小写的
image.png
  1. 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
scp -P port 01.py user@remote:Desktop/01.py

⚠️: 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径

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

⚠️ 加上 -r 选项才可以传送文件夹

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

⚠️ scp 这个终端命令只能在 Linux 或者 UNIX 系统下使用
如果在 Windows 系统中,可以安装 PuTTY,使用 pscp 命令行工具或者安装 FileZilla 使用 FTP 进行文件传输

FileZilla

4.4 SSH 高级

提示:有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下

免密码登录

  • 步骤
  1. 配置公钥
    执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
  2. 上传公钥到服务器
    执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
  • 示意图


    image.png

非对称加密算法
使用 公钥 加密的数据,需要使用 私钥 解密
使用 私钥 加密的数据,需要使用 公钥 解密

配置别名

每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当user, remoteport都得输入,而且还不好记忆
而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:

Host mac
    HostName ip地址
    User itheima
    Port 22

保存之后,即可用 ssh mac 实现远程登录了,scp 同样可以使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。