MENU

Ubuntu 远程管理常用命令学习整理

November 10, 2019 • Read: 230 • 学习笔记阅读设置

学习目标

  • 关机/重启

    • shutdown
  • 查看或配置网卡信息

    • ifconfig
    • ping
  • 远程登录和复制文件

    • ssh
    • scp

一、关机/重启

命令对应英文作用
shutdown 选项 时间shutdown关机/重新启动
1.1 shutdown
  • shutdown 命令可以 安全关闭 或者 重新启动系统
选项含义
-r重新启动

提示:

  • 不指定选项和参数,默认表示 1分钟之后关闭电脑
  • 远程维护服务器时,最好不要关闭系统,而应该重新启动系统
  • 常用命令示例:
#重新启动操作系统,其中 now 表示现在
$ shutdown -r now

# 立刻关机,其中 now 表示现在
$ shutdown now

#系统在今天的 20:25 会关机
$ shutdown 20:25

#系统再过十分钟后自动关机
$ shutdown +10

#取消之前指定的关机计划
$ shutdown -c

二、查看或配置网卡信息

命令对应英文作用
ifconfigconfigure a network interface查看/配置计算机当前的网卡配置信息
ping ip地址ping检测目标ip地址的连接是否正常
2.1 网卡和IP地址

网卡

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

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

IP地址

  • 每台联网的电脑上都有IP地址,是保证电脑之间正常通讯的重要设置

每台电脑的IP地址不能相同,否则会出现IP地址冲突,并且没有办法正常通讯

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

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

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

  • 127.0.0.1 被称为本地回环/环回地址,一般用来测试本机网卡是否正常
2.3 ping
# 检测到目标主机是否连接正常
$ ping IP地址

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

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

在Linux中,想要终止一个终端程序的执行,绝大多数都可以使用 ctrl+c

三、远程登录和复制文件

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

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

  • SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议

    • 利用 SSH协议 可以有效防止远程管理过程中的信息泄漏
    • 通过 SSH协议 可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
  • SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输速度

1> 域名和端口号

域名

  • 由一串用点分隔的名字组成,例如:www.baidu.com
  • 是IP地址 的别名,方便用户记忆

端口号

  • IP地址:通过IP地址找到网强行上的计算机
  • 端口号:通过端口号可以找到计算机上运行的应用程序

    • SSH 服务器的默认端口号是22,如果是默认端口号,在连接的时候可以省略
  • 常见服务端口号列表:
序号服务端口号
01SSH 服务器22
02WEB 服务器80
03HTTPS443
04FTP服务器21
05数据库3306

2> SSH客户端的简单使用

ssh [-p port] user@remote

例:ssh -p 22 ubuntu@192.168.22.10

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

提示:

  • 使用 exit 退出当前用户的登录

注意:

  • ssh 这个终端命令只能在 linux 或者 unix 系统下使用
  • 如果在windows系统中,可以安装 PuTTY 或者 XShell 客户端软件即可

提示:在工作中,ssh 服务器的端口号很有可能不是22,如果遇到这种情况就需要使用 -p 选项,指定正确的端口号,否则无法正常连接到服务器

3> Windows 下SSH客户端的安装

3.2 scp
  • scp 就是 secure copy,是一个在Linux 下用来进行远程拷贝文件的命令
  • 它的地址格式与SSH基本相同,需要注意的是,在指定端口时用的是大写的 -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
选项含义
-r若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P若远程 SSH 服务器的端口不是 22 ,需要使用大写字母 -P 选项指定端口

注意:

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

Filezilla

3.3 SSH高级
  • 免密码登录
  • 配置别名

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

1> 免密码登录

步骤

  • 配置公钥

    • 执行 ssh-keygen 即可生成SSH钥匙,一路回车即可
  • 上传公钥到服务器

    • 执行 ssh-copy-id -p port user@remote ,可以让远程服务器记住公钥

非对称加密算法

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

2> 配置别名

每次都输入 ssh -p port user@remote ,时间久了会觉得很麻烦,特别是当 user,remote和port 都得输入,而且还不好记忆

配置别名可以让我们进一步偷懒,譬如用:ssh mac 来代替上面这么一长串,那么就在 ~/.ssh/config 里追加以下内容:

Host mac
    HostName ip地址
    User myname
    Port 22

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

Last Modified: November 26, 2019
Archives QR Code Tip
QR Code for this page
Tipping QR Code