ifconfig:查看和管理网络配置
临时添加一个新 IP 地址
ifconfig eth0:1 192.168.1.103 netmask 255.255.255.0 up
eth0:1:虚拟接口名称
192.168.1.103:新 IP 地址
临时修改(替换)当前 IP 地址
ifconfig eth0 192.168.1.104 netmask 255.255.255.0
激活 / 禁用网络接口
ifconfig eth0 up 启用接口
ifconfig eth0 down 禁用接口
配置完成后,检查 IP 地址是否生效
ip a show eth0 查看接口详细信息
ping 192.168.1.1 测试网络连通性
nmtui:半图形化网络管理命令
直接输入nmtui进入
Network Manage tui
修改ip地址 等价于 vim /etc/sysconfig/network-script/ifcfg-ens33
重启网卡 systemctl restart network
修改主机名 hostnamectl set-hostname 主机名
ssh:安全的远程连接
通过非对称加密,保证数据传输过程中的安全性。
SSH协议
SSH(Secure Shell)协议是一种用于在网络中实现安全远程登录、文件传输和命令执行的加密网络协议。它通过加密技术保护数据在传输过程中的安全性,有效替代了传统的明文传输协议(如 Telnet、FTP),广泛应用于服务器管理、网络设备配置等场景。
核心功能
1.远程登录:允许用户通过加密连接登录到远程服务器,就像在本地操作一样执行命令。例如,管理员可通过SSH远程管理Linux服务器。
2.安全文件传输:基于SSH协议的衍生工具(如SCP、SFTP)支持加密的文件上传和下载,避免传统FTP的明文传输风险。
3.端口转发(隧道):可创建加密“隧道",将其他协议(如HTTP、MySQL)的流量通过SSH端口转发,实现安全访问(如访问内网数据库)。
4.远程命令执行:支持在本地直接向远程服务器发送命令并获取结果,无需交互式登录(常用于脚本自动化)
SSH 的加密原理
SSH 协议通过非对称加密和对称加密结合的方式保证安全性,主要过程如下:
1.握手阶段
客户端与服务器建立 TCP 连接后,协商 SSH 版本和加密算法(如 AES、ChaCha20)。
服务器向客户端发送公钥,客户端验证公钥合法性(首次连接时需手动确认)。
2.密钥交换
客户端生成一个临时对称密钥,用服务器的公钥加密后发送给服务器。
服务器用私钥解密得到对称密钥,此后双方使用该密钥对所有通信内容进行加密(对称加密效率更高)。
3.身份认证
密码认证:客户端发送加密后的密码,服务器验证。
密钥认证(更安全):客户端生成一对密钥(公钥 + 私钥),公钥存放在服务器,登录时服务器用公钥验证客户端私钥,无需输入密码。
ssh服务属于c/s架构,Client/Server;
ssh 用户名@ip/主机名/域名 [-p 端口号(默认22)]
sshd:服务端,安装在服务器上(CentOS默认安装)
CentOS:yum install openssh-server
Ubuntu:sudo apt install openssh-server
修改sshd的配置文件:/etc/ssh/shhd_config
systemctl restart sshd 重启服务
登入其他端账号的步骤
1.systemctl stop firewalld 关防火墙
setenforce 0 关沙盒
2.ssh zs@192.168.81.23=>yes=>密码
连接端的用户及其ip地址
3.exit 退出登入
跳板机:作为用户访问后端目标服务器(如生产服务器、数据库服务器等)的唯一入口,用于集中管控、审计和保护对敏感资源的访问。
设置白名单
vim /etc/ssh/sshd_config
在最后添加
AllowUsers tom@192.168.8.30或者AllowUsers tom@192.168.8.0/24
秘钥验证:
客户端的公钥存放到服务端,每次登录通过私钥进行验证,省略密码。
秘钥步骤
1.在客户端生成秘钥对;私钥保存在本地,保证私钥的安全;
ssh-keygen 敲三个回车
2.将公钥发送到服务端/root/.ssh/authorized_keys;
ssh-copy-id 服务端用户名@ip=>输入密码
ssh-copy-id zs@192.168.8.20
3.之后进行登录自动识别身份;
ssh zs@192.168.8.20
服务端
XShell免密登录步骤
1、工具——新建用户密钥生成向导——默认,下一步——完成
属性里可以看公钥,复制粘贴到服务器,vim .ssh/authorized_keys第二行
2、工具——身份验证配置文件——密钥类型:RSA;密钥长度:2048;下一步——默认,下一步——点刚刚设置的,密钥很多个就点第一个——点公钥,把下面一长串复制到要登陆的服务器里面(服务器打开vim .ssh/authorized_keys如何粘贴到第二行)——点菜单栏里的断开连接(在编辑下面)——用户名输入root——选择密钥登录(public key),直接确定。
scp:远程文件复制
上传:将本地文件发送到目标服务器上;
scp [-r] 原文件 root@ip:目标路径
客户端 服务端
下载:将服务器上的文件下载到本地;
scp [-r] root@ip:路径 本地目录
服务端 客户端
将本地文件复制到远程服务器
scp redis-6.2.14.tar.gz root@192.168.8.20:/usr/local/src
将远程服务器上的文件下载到本地
scp root@192.168.8.20:/root/20.txt ./
scp是全量复制:从头到尾全部复制,速度相对较慢
rsync:高效文件同步工具
格式:rsync [选项] 本地文件 root@ip:路径
rsync [选项] root@ip:文件 本地路径
rsync:支持增量复制、差异复制,只复制增加和修改的文件,一般用来做备份
rsync支持增量传输,只同步变化的部分,比 scp 更高效
rsync选项 |
|
-a,--archive |
e归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD |
-v,--verbose |
详细模式输出 |
-z,--compress |
对备份的文件在传输时进行压缩处理 |
--delete |
删除那些DST(目标)中SRC(源)没有的文件 |
-e |
指定远程传输方式(如 SSH) |
rsync同步目录或文件
rsync -avz --delete redis-6.2.14 root@192.168.8.26:/root
客户端备份到服务端步骤
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 开机不启动防火墙
setenforce 0 关闭沙盒
(服务端192.168.20.11)
1.vim /etc/rsyncd.conf 配置服务器文件
uid = root 用户id,表示共享权限能执行的身份
gid = root 组id
use chroot = yes EOF 开启,表示允许访问备份目录和文件时,使用的角色的root,同时访问本地目录时拥有的也是root权限
address = 192.168.20.11 服务器地址(本机地址)
port = 873 默认端口号是873
hosts allow = * 允许访问的主机网段,类似黑白名单
192.168.20.0/24
[hao] 访问时的名字
path = /sb 被备份目录
read only = yes 只读
auth users = yang 允许的用户
secrets file = /etc/wdnmd 存放账号信息的数据文件,一行一个
2.创建用户
useradd yang 创建用户yang
passwd yang 设置用户yang密码
3.创建目录
mkdir /sb
echo "yang:123123" > /etc/wdnmd
chmod 600 /etc/wdnmd
4.开启rsync服务
rsync --daemon
5.查看服务器
netstat -anput | grep rsync
6.将服务器的文件下载到本机
rsync -avz yang@192.168.20.11::hao /root/
7.修改配置文件
vim /etc/rsyncd.conf
read only = no 不只读
writable = yes 添加读写权限
8.killall -9 rsync 杀死进程
netstat -anput | grep rsync 查看服务
rsync --daemon 重启服务
netstat -anput | grep rsync 查看服务
(客户端192.168.20.12)
1.mkdir /ru
2.vim /ru/hua
3.将客户端文件lafei同步到服务器hao模块
rsync -avz /ru/hua yang@192.168.20.11::hao
列出服务器hao模块内容
rsync yang@192.168.20.11::hao