6.6SSH的运用

ssh远程管理

ssh是一种安全通道协议,用来实现字符界面的远程登录。远程复制,远程文本传输。

ssh对通信双方的数据进行了加密

用户名和密码登录

密钥对认证方式(可以实现免密登录)

ssh 22 网络层 传输层

数据传输的过程中是加密的

数据在传输的过程中是压缩的

ssh分为服务端和客户端

服务端:openssh

客户端:xshell moba

系统中的应用名称 sshd

ssh config 针对客户端的配置文件

sshd config 服务端的配置

都是配置文件,作用不同

监听地址,对外提供服务的地址

scp远程复制:把目标主机的文件复制到本机。

bash 复制代码
scp root@192.168.233.20:/opt/xy.txt /opt
#把20/opt/xy.txt文件,复制到本机的opt目录下
bash 复制代码
scp -r root@192.168.233.20:/opt/123 /opt
#把20/opt/123目录,复制到本机的opt目录下
bash 复制代码
scp -rP 1022 root@192.168.233.20:/opt/123 /opt
#把20/opt/123目录,复制到本机的opt目录下
bash 复制代码
ssh -p 1022 root@192.168.233.20
#远程连接服务器,20服务器的端口是1022

sftp 远程文件传输协议

openssh包含三个功能

远程连接

远程复制

文件传输

sftp是加密的文件传输协议,传输效率比ftp低,但是更安全。语法和ftp一样。

ssh密码认证

密钥对认证(登录)

密钥:密钥是一种参数,把明文转换成密文。转换成的密文是一种算法声场的参数

密钥的形式分为两种,对称密钥,非对称密钥

ssh 非对称密钥

ssh的加密方式:

RSA

ECDSA

DSA

加密的算法,可以指定。ssh-keygen -t 加密方式

id.ecdsa 私钥文件

id.ecdsa.pub 公钥文件

免密登录的过程:

bash 复制代码
ssh-ssh-keygen -t 算法
#指定加密的算法
ssh-copy-id-i id_ecdsa.pub(-p 1022)root@192.168.233.20
#把公钥文件发送到对方主机
ssh-agent-bash
#把密钥对进行缓存,可以自动提供身份验证,实现免密登录
ssh-add
#管理缓存

nfs共享存储服务

network file system 在计算机网络中共享文件系统的协议。

计算机之间可以通过网络共享目录和文件。

rpcbind 远程共享的调用

nfs 提供共享服务

配置nfs时,要先启动调用rpcbind在开启nfs

rpcbind端口号111

nfs 2049(隐藏端口,无法查询到)

/opt/gongxiang 192.168.233.0/24(rw,sync,no_root_squash)

/opt/gongxiang 声明本机的共享目录

192.168.233.0/24 声明网段,谁可以访问本机的共享目录(声明指定主机可以访问共享目录)

(rw,sync,no_root_squash)

rw 读写 ro 只读

sync 同步写入到硬盘中(共享用户的操作)

no_root_squash 如果客户机以root用户访问共享目录,就给你和本机的root用户一样的权限

root_squash 客户机root用户登陆访问共享目录,就会把你变成匿名用户

主机:

vim /etc/exports

/opt/gongxiang 192.168.233.0/24(rw,sync,no_root_squash)

system restart rpcbind

system restart nfs

showmount -e 查看本机共享出去的目录

客户机:

安装rpcbind和nfs

system restart rpcbind

system restart nfs

showmount -e 192.168.233.10 查看主机暴露出的共享目录

挂载:

mount 192.168.233.10:/opt/gongxiang /opt/test1

vim /etc/fstab

192.168.233.10:/gongxiang /opt/test1 nfs defaults,_netdev 0 0

_netdev:有网络该目录才能挂载成功

yum的进阶说明

yum的主要作用

依赖关系

自动安装

自动升级

centos7 yum

centos8 dbf(yum的升级版)

ubuntu

apt

yum的包都是.rpm

ubunt的包是.deb

yum的日志文件和缓存

/var/log/yum.log

缓存:下载

/etc/yum.conf

网页版的形式做一个yum源

curl页面测试工具,后面跟上IP地址或者域名可以访问这个页面(测试web软件工作是否正常)

vsftpd

http

混合

SSH的运用

存放ssh服务端的配置文件
bash 复制代码
vim /etc/ssh/sshd_config
#常用选项配置
Port 22		#监听端口默认为22
ListenAddress 0.0.0.0	#监听地址

常用配置项

bash 复制代码
LoginGraceTime 2m	#登陆验证时间为2分钟
PermitRootLogin yes	#允许root用户登录
MaxAuthTries 6		#最大重试次数6
MaxSessions 10		#最大连接数为10
存放ssh客户端的配置文件

/etc/ssh/ssh_config(该配置基本默认保持不变)

ssh在Linux中的密码登录

ssh [远程主机用户名]@[远程服务器主机名或IP地址]

bash 复制代码
ssh root@192.168.233.10
exit  #退出当前用户
bash 复制代码
ssh -p 1022 root@192.168.233.20	#远程连接服务器,该服务器的端口号为1022
exit  #退出当前用户

利用ssh协议传输文件和获取文件

ssh scp sftp 都是默认使用ssh协议,端口为 tcp 22

scp复制文件

scp [有目录文件-r] [-P指定端口] 端口号 [用户]@服务端IP:复制文件的路径 保存的地址

bash 复制代码
scp -rP 1022 root@192.168.233.20:/opt/123 /opt
sftp远程访问操作

sftp [-P] 用户@服务端IP (当默认端口改变时,可以用-P指定)

bash 复制代码
sftp -P 1022 root@192.168.233.20

传输和获取文件

ssh密钥登录操作

第一步:在客户端中创建密钥
bash 复制代码
ssh-keygen -t rsa
bash 复制代码
cd /root/.ssh
ls
第二步:把公钥文件导入到ssh服务端
bash 复制代码
ssh-copy-id -i id_rsa.pub -p 1022 root@192.168.233.20
#把公钥文件发送到对方主机
bash 复制代码
ssh-agent-bash
#把密钥对进行缓存,可以自动提供身份验证,实现免密登录
ssh-add
#管理缓存

进行测试

bash 复制代码
ssh -p 1022 root@192.168.233.20

nfs实现文件共享

创建一个文件并赋权

bash 复制代码
mkdir gongxiang
chmod 777 gongxiang/
vim /etc/exports #设定这个共享目录
bash 复制代码
systemctl restart rpcbind
systemctl restart nfs
showmount -e	#查看本机共享出去的目录

登录客户机

bash 复制代码
yum -y install rpcbind nfs-utils
#安装rpcbind和nfs
bash 复制代码
system restart rpcbind
system restart nfs
showmount -e 192.168.233.10	#查看主机共享的目录

挂载

bash 复制代码
 mount 192.168.233.10:/opt/gongxiang /opt/test1		#将主机的共享目录挂载到test1上

测试:

在客户机的test1目录中添加文件

内容实现共享

如何实现永久挂载

bash 复制代码
umount 192.168.233.10:/opt/gongxiang /opt/test1    #首先解挂载
vim /etc/fstab  #进入永久挂载文件

192.168.233.10:/opt/gongxiang /opt/test1 nfs defaults,_netdev 0 0
#_netdev:有网络该目录才能挂载成功
mount -a	#刷新


网页版yum源httpd

进入apache默认访问页面

bash 复制代码
cd /var/www/html/

创建centos7

mkdir centos7

挂载

bash 复制代码
mount /dev/cdrom /var/www/html/centos7/

进入yum源配置文件,创建本地源

bash 复制代码
cd /etc/yum.repos.d/
vim httpd.repo	#配置本地yum源
[httpd]
name=123
baseurl=http://192.168.233.10/centos7
gpgcheck=0
bash 复制代码
systemctl restart httpd	#启动服务
yum clean all && yum makecache
#清除旧缓存,创建新缓存

测试另一台主机从centos7下载

为了更加直观将yum源全部删除(删除前记得备份)

bash 复制代码
vim local.repo	#配置yum源
[local]
name=123
baseurl=http://192.168.233.10/centos7
gpgcheck=0

因为yum源都被删除只会在下载镜像中的东西

vsftp 做 yum源

安装vsftpd并启动

bash 复制代码
yum -y install vsftpd
systemctl restart vsftpd

创建centos7并挂载

bash 复制代码
mkdir centos7
mount /dev/cdrom /var/ftp/centos7/

进入yum源配置文件为了直观显示删除所有yum源

bash 复制代码
vim local.repo	#配置yum源
[local]
name=123
baseurl=http://192.168.233.10/centos7
gpgcheck=0
yum clean all && yum makecache
#清除缓存建立新缓存

测试:

进入客户机更改yum源内的文件,建立新缓存

混合源

bash 复制代码
vim local.repo
[local]
name=123
baseurl=ftp://192.168.233.10/centos7
gpgcheck=0
priority=2

[net]
name=456
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
yum clean all && yum makecache


相关推荐
EricWang135829 分钟前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
长弓三石1 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
follycat1 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
xiaoxiongip6662 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
JaneJiazhao2 小时前
HTTPSOK:SSL/TLS证书自动续期工具
服务器·网络协议·ssl
JaneJiazhao2 小时前
HTTPSOK:智能SSL证书管理的新选择
网络·网络协议·ssl
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0