一、实验环境
- client:
- myl_client.com
- 172.25.254.104
- server:
- myl_server.com
- 172.25.254.204
- ifconfig—查看IP地址
- nm-connection-editor—设定IP地址
- hostnamectl.set-hostname—设定主机名称
二、Openssh服务的基本信息
2.1 Openssh
- 在企业的运维工作并不是一对一的运维,运维工程师的运维工作基本都是1对N
- 在运维工程师对服务器进行管理的过程中,需要通过网络远程登录主机
- 需要通过网络在远程主机中开启shell来对主机进行远程操作
- 远程主机必须提供远程开启shell的方式
- 以上的需求由openssh服务提供
- 远程主机中安装了openssh并开启程序后就可以通过网络连接主机
2.2 软件包名称
openssh-server
2.3 服务名称
sshd
2.4 客户端
ssh
- ssh -l root 172.25.254.104 -----其中172.25.254.104为远程主机ip
- -l-----login登录
- root-----远程主机的超级用户
- 登录状况如下
2.5 sshd服务端口
22/tcp
配置文件:/etc/ssh/sshd_config
三、Openssh服务的安全配置
对端口进行修改
- vim /etc/ssh/sshd_config
- port 22 →port XX(将端口序号从22变为XX)
- 对文件更改后wq保存并运行systemctl restart sshd(刷新读取更改过的内容)
- ss -antplu | grep sshd(查看端口是否更改成功)
- 通过端口序号为77的端口远程控制
对端口进行绑定 - vim /etc/ssh/sshd_config
- ListenAddress 0.0.0.0 ----> ListenAddress+目标ip地址
- 对文件更改后wq保存并运行systemctl restart sshd(刷新读取更改过的内容)
- ss -antlup | grep sshd(查看端口是否更改成功)
- 如图可见此时端口被绑定为172.25.254.204
关闭密码认证 - vim /etc/ssh/sshd_config
- PasswordAuthentication yes→no
- 在两台主机上禁用密码认证
root用户访问权限 - vim /etc/ssh/sshd_config
- PermitRootLogin yes —>no
- 禁止root用户通过ssh访问
用户黑名单 - 名单中的用户被禁止访问,名单上没有的默认允许访问
- vim /etc/ssh/sshd_config
- DenyUsers ip地址(需另起一行)
用户白名单 - 名单中的用户被允许访问,名单上没有的默认不允许访问
- vim /etc/ssh/sshd_config
- AllowUsers ip地址(需另起一行)
四、Openssh服务的key认证
4.1 用户密码认证 (对称加密)
特点:加密方式和解密方式使用同一种方法
缺点:
- 1.密码容易泄漏
- 2.容易忘记
4.2 密钥认证 (非对称加密)
特点:
- 加密密钥和解密密钥不同 ,并且难以互推
- 有一个密钥是公开的 ,即公钥 ,而另一个密钥是保密的 ,即私钥
优点:
- 1.安全
- 2.不会忘记密码
4.3 建立key认证的方式
建立key文件
- 将/root/.ssh/id_rsa到172.25.254.104地址下的/root/.ssh/目录下
- 服务器登录远程主机通过密匙可以不输入密码进行登录
五、远程文件传输
5.1 scp命令
- scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
- scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件
实验步骤: - touch westos 建立文件westos
- mkdir westosdir 建立目录westosdir
- 测试将本地文件复制到远程主机上(上传)
- scp westos root@172.25.254.204 :/root/Desktop
- scp -r westosdir root@172.25.254.204:/root/Desktop -r表示复制目录
- scp -q westos root@172.25.254.204:/root/Desktop -q传输文件时不显示进度
- 测试将远程文件复制到本地(下载)
- scp root@172.25.254.204:/root/Desktop/westos /root/Desktop
5.2 rsync
- rsync 文件 远程用户@远程主机ip:远程主机目录
- rsync 远程用户@远程主机ip:远程主机目录 文件路径
rsync
参数 | 功能 |
---|---|
-r | 复制目录 |
-l | 复制链接 |
-p | 复制权限 |
-t | 复制时间戳 |
-o | 复制拥有者 |
-g | 复制拥有组 |
-D | 复制设备文件 |
- 复制链接
- 复制权限
- 复制时间戳
- 复制拥有者拥有组
- 复制设备文件
5.3 rsync和scp命令的对比
进行试验对比:
- 建立脚本文件
- 分别使用scp和rsync的脚本文件将文件从源主机发送到接收主机上,并记录发送时间
scp与rysnc的差异: - scp命令运行方式是复制,如果要传输的文件在目的地没有文件,则新建立一个文件,如果在目的地有文件这覆盖原来的文件
- rysnc命令运行方式是同步,如果要传输的文件在目的地有一个相同的文件,则不进行任何动作,若在目的地没有相同的文件,则直接进行更新处理
六、文件压缩与解压
tar:该命令是用来压缩和解压文件,本身没有压缩的功能,而是通过调用压缩功能来实现压缩,是归档命令
- 必要参数
参数 | 功能 |
---|---|
-A | 新增压缩文件到已存在的压缩 |
-B | 设置区块大小 |
-c | 建立新的压缩文件 |
-d | 记录文件的差别 |
-r | 添加文件到已经压缩的文件 |
-z | 支持gzip解压文件 |
-j | 支持bzip2解压文件 |
-Z | 支持compress解压文件 |
-v | 显示操作过程 |
-l | 文件系统边界设置 |
-k | 保留原有文件不被覆盖 |
-m | 保留文件不被覆盖 |
-W | 确认压缩文件的正确性 |
- 可选参数
参数 | 作用 |
---|---|
-b | 设置区块数目 |
-C | 切换到指定目录 |
-f | 指定压缩文件 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
- tar rf bin.tar file1
tar xf bin.tar
tar f bin.tar --get file1
tar -f bin.tar --delete file1
6.2 zip
zip格式的压缩与解压
- zip -r bin.tar.zip bin.tar:将bin.tar文件进行bin.tar.zip格式的压缩
- unzip bin.tar.zip:将bin.tar.zip压缩包进行解压
6.3 gzip
gzip格式的压缩与解压
gzip bin.tar:将bin.tar文件进行gzip格式的压缩
gunzip bin.tar.gz:将bin.tar.gz压缩包进行解压
tar zcvf bin.tar.gz /bin/:将/bin/文件进行归档并使用gzip的格式压缩
6.4 bz2
bz2格式的压缩与解压
bzip2 bin.tar:对bin.zar文件进行bz2格式的压缩
bunzip2 bin.tar.bz2:对bin.tar.bz2压缩包进行解压
tar jcvf bin.tar.bz2 /bin/:将/bin/文件进行归档并使用bz2的格式压缩
6.5 xz
xz格式的压缩与解压
xz bin.tar
unxz bin.tar.xz
tar Jcvf bin.tar.xz /bin/:将/bin/文件进行归档并使用xz的格式压缩