02 Linux远程管理常用命令
关机/重启:shutdown
查看或配置网卡信息:ifconfig ;ping
远程登录和复制文件:ssh ;scp
1.关机/重启
| 序号 | 命令 | 对应英文 | 作用 |
| 01 | shutdown 选项 时间 | shutdown | 关机/重启 |
shutdown命令可以安全关闭或者重新启动系统
shutdown不指定选项和参数,默认表示1分钟后关闭电脑
远程维护服务器时,最好不要关闭系统,而应该重启系统
常用命令示例
重新启动操作系统,其中now表示现在
shutdown -r now
立即关机,其中now表示现在
shutdown now
系统在今天的20:25会关机
shutdown 20:25
系统再过十分钟后自动关机
shutdown +10
取消之前指定的关机计划
shutdown -c

2.查看或者配置网卡信息
| 序号 | 命令 | 对应英文 | 作用 |
| 01 | ifconfig | configure a network interface | 查看/配置计算机网卡当前配置的信息 |
| 02 | ping ip地址 | ping | 检测到目标ip地址的连接是否正常 |
网卡和网址:
网卡是一个专门负责网络通讯的硬件设备
IP地址是设置在网卡上的地址信息
我们可以把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码
IP地址:
每台联网的电脑上都有IP地址,是保证电脑之间正常通讯的重要设置
注意:每台电脑的IP地址不能相同,否则会出现IP地址冲突,并且没有办法正常通讯
ifconfig:
ifconfig可以查看/配置计算机当前的网卡配置信息
查看网卡配置信息
ifconfig
查看网卡对应的IP地址

ifconfig | grep inet
提示:一台计算机中有可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ens开头命名
127.0.0.1被称为本地回环/环回地址,一般用来测试本机网卡是否正常

注:Ubuntu中无法使用ifconfig命令的解决方法

直接执行sudo apt install net-tools
ping:
检测到目标主机是否连接正常
ping IP地址
检测本地网卡工作正常
ping 127.0.0.1
ping一般用于检测当前计算机到目标计算机之间的网络是否畅通,数值越大,速度越慢
网络管理员之间也常将ping用作动词,ping以下XXX计算机,看它是否开着
原理:网络上的机器都有唯一确定的IP地址,我们给目标地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在。
Linux中,想要终止一个终端程序的执行,绝大多数都可以使用Ctrl+C
3.远程登录和复制文件
| 序号 | 命令 | 对应英文 | 作用 |
| 01 | ssh 用户名@ip | secure shell | 关机/重新启动 |
| 02 | scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
ssh基础(重点):
在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上

SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序
SSH是目前较可靠,专为远程登录回话和其他网络服务提供安全性的协议。
利用SSH协议可以有效防止远程管理过程中的信息泄露
通过SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
SSH的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
域名和端口号:
域名:由一串用点分隔的名字组成,例如:www.itcast.cn。是IP地址的别名,方便用户记忆
IP地址:通过IP地址找到网络上的计算机
端口号:通过端口号可以找到计算机运行的应用程序
SSH服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略
常见服务端口号列表:
| 序号 | 服务 | 端口号 |
| 01 | SSH服务器 | 22 |
| 02 | Web服务器 | 80 |
| 03 | https | 443 |
| 04 | FTP服务器 | 21 |
4.SSH客户端的简单使用
ssh [-p port] user@remote
user是在远程机器上的用户名,如果不指定的话默认为当前用户
remote是远程机器的地址,可以是IP/域名,或者是别名
port是SSH Server监听的端口,如果不指定,就为默认值22
注意:
使用exit退出当前用户的登录
ssh这个终端命令只能在Linux或者Unix系统下使用
如果在windows系统中,可以安装PuTTy或者XShell客户端软件即可
在工作中,SSH服务器的端口号很可能不是22,如果遇到这种情况需要使用-p选项,指定正确的端口号,否则无法连接到服务器
Mac系统使用SSH示例:

Windows下SSH客户端的安装以及FTP文件传输工具FileZilla
Mac和Linux系统默认安装了SSH,Windows需要单独安装
Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
XShell http://xshellcn.com
这两款是免费软件,最好还是从官网下载
退出终端时,一定要执行exit命令
PuTTy安装
PuTTy安装很简单,下载好以后,直接选择安装地址,不断选择下一步就好,可以在以下页面选择添加左面快捷方式



XShell安装过程
XShell安装包下载好以后,双击安装,在出现以下窗口时,一定要选择免费为家庭/学校,两个的功能完全一样,但是上面的需要序列号。

安装完成后,双击桌面快捷方式,会弹出以下窗口,发现是英文的界面,要是想改为中文界面,可以先把Session窗口关掉。

在菜单栏中选择Tools-->Language

在弹出的窗口中将语言改为Chinese simplified,同时默认勾选Restart,点击OK重启软件,弹出以下中文界面,可以点击新建来创建连接Ubuntu的连接。

在弹出的窗口中填上相应的连接信息,点击确定

然后在弹出的窗口中点击连接

再在弹出的窗口填上登录的用户名,并勾选记住用户名,点击确定

在弹出的窗口中填上python用户的密码,并勾选下面的记住密码,点击确定。可以看到下面进入到远程Ubuntu系统的界面,现在能够正常使用了。

如果想退出远程连接,可以在命令行中输入exit,回车。然后在上面点击会话窗口的X符号,就完成了。

记住,一定要exit退出远程登录。
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
在Mac中演示如下。
注:第一个演示中最后的小数点代表复制过来的文件不改名(01.py)

scp这个终端命令只能在Linux或者UNIX系统下使用
如果在Windows系统中,可以安装PuTTy,使用pscp命令行工具。或者安装FileZilla使用FTP进行文件传输。
FileZilla
官方网站:https://www.filezilla.cn/download/client
Filezilla在传输文件时,使用的是FTP服务,而不是SSH服务,因此端口号应设置为21。

5.SSH高级(知道)
免密码登录与配置别名。要注意的是,有关SSH配置信息都保存在用户家目录下的.ssh目录下
免密码登录:
步骤:
(1)配置公钥,执行 ssh-keygen 即可生成SSH钥匙,一路回车即可。
(2)上传公钥到服务器,执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥。
示意图如下

非对称加密算法:
使用公钥加密的数据,需要使用私钥解密;
使用私钥加密的数据,需要使用公钥解密。
配置别名:
每次都输入 ssh -p port user@remote ,时间久了会觉得很麻烦,特别是user,remote和port都得输入,而且还不好记忆。
而配置别名可以让我们进一步偷懒,比如用: ssh mac 来代替上面的这么一长串,那么就在 ~/.ssh/config里面最佳以下内容:
Host mac
HostName ip地址
User itheima
Port 22
保存之后,就可以使用 ssh mac 实现远程登录了,scp同样可以使用

浙公网安备 33010602011771号