ssh:是一种安全通道协议,主要用来实现字符界面的远程登录。远程复制,远程文本传输。
ssh对通信双方的数据进行了加密
用户名和密码登录
密钥对认证方式(可以实现免密登录)
ssh 22 网络层 传输层
数据传输的过程中是加密的
数据再传输过程中是压缩的
ssh分为服务端和客户端
服务端:Openssh
客户端:xshell moba
sshd应用名称
ssh config 针对客户端的配置文件
sshd config 针对服务端的配置文件
都是配置文件,作用不同
监听地址
对外提供服务的地址
远程复制
把目标主机的文件复制到本机。
scp 复制文件
scp -r 复制目录
scp -rP 端口号 复制不同端口
远程登录不同端口号
ssh -p 端口号 主机名@ip
远程文件传输协议sftp
Openssh包含三个功能
远程连接
远程复制
文件传输
sftp是加密的文件传输协议,传输效率比FTP低,但是更安全,语法和ftp一摸一样。
sftp -P 端口号
密钥认证(免密登录)
密钥:密钥是一种参数,把明文转换成密文。转换成的密文是一种算法生成的参数。
密钥的形式分两种,对称密钥,非对称密钥
ssh 非对称密钥
ssh的加密方式:
RSA
ECDSA
DSA
加密的算法可以指定。
id ecdsa 私钥文件
id ecdsa.pub 公钥文件
免密登录的过程
ssh-keygen -t ecdsas #执行加密的算法
ssh-copy-id -i id ecdsa.pub (-p 10022)root@192.168.65.22
#把公钥文件发送到对方主机
ssh-agent bash
#把密钥进行缓存,可以自动提供身份验证,实现免密登录。
ssh-add
#管理缓存
免密登录的过程
ssh-keygen -t ecdsas #执行加密的算法
ssh-copy-id -i id ecdsa.pub (-p 10022)root@192.168.65.22
#把公钥文件发送到对方主机
ssh-agent bash
#把密钥进行缓存,可以自动提供身份验证,实现免密登录。
ssh-add
#管理缓存
免密登录实验
test2登录test3
``[root@test2 ~]# cd /opt/` `[root@test2 opt]# ssh-keygen -t ecdsa` `Generating public/private ecdsa key pair.` `Enter file in which to save the key (/root/.ssh/id_ecdsa):` `Enter passphrase (empty for no passphrase):` `Enter same passphrase again:` `Your identification has been saved in /root/.ssh/id_ecdsa.` `Your public key has been saved in /root/.ssh/id_ecdsa.pub.` `The key fingerprint is:` `SHA256:HsKHGyJtnNndA771JNPpQeTboYyzykxUlqREytNW59w root@test2` `The key's randomart image is:` `+---[ECDSA 256]---+` `| .o o o |` `| . + + B . |` `| + = + = E |` `| o = * = = = . |` `| . B * S O O . |` `| o . B + X . |` `| . + . o |` `| + . |` `| + |` `+----[SHA256]-----+`
2.进入root下的.ssh 生成公钥和私钥文件
`[root@test2 opt]# cd /root/.ssh/` `[root@test2 .ssh]# ls` `id_ecdsa id_ecdsa.pub known_hosts`
3.把生成的公钥文件传给test3
`[root@test2 .ssh]# ssh-copy-id -i id_ecdsa.pub -p 10022 root@192.168.65.22`
4.生成环境
`[root@test2 .ssh]# ssh-agent bash`
5.添加密钥文件
`[root@test2 .ssh]# ssh-add` `Identity added: /root/.ssh/id_ecdsa (/root/.ssh/id_ecdsa)`
6.测验免密登录
``[root@test2 .ssh]# ssh -p 10022 root@192.168.65.22` `Last login: Thu Jun 6 10:29:46 2024 from 192.168.65.21` `[root@test3 ~]#``
xshell 密钥登录实验
1.查看是否有.ssh目录把目录里文件删掉
[root@test3 ~]# cd .ssh/ [root@test3 .ssh]# ls authorized_keys [root@test3 .ssh]# rm -rf authorized_keys
2.把加密文件从桌面拖到xshell
[root@test3 .ssh]# rz -E rz waiting to receive.
3.把原文件追加到删掉的文件
[root@test3 .ssh]# cat id_rsa_2048.pub >> authorized_keys [root@test3 .ssh]# ls authorized_keys id_rsa_2048.pub
4.赋予权限600只能是这个权限
[root@test3 .ssh]# chmod 600 authorized_keys
5.回到新建的xshell进行连接
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/共享 192.168.65.0/24(rw,sync,no_root_squash)
systemctl restart rpcbind
systemctl restart nfs
showmount -e
查看本机共享出去的目录
客户机
安装rpcbind和nfs
systemctl restart rpcbindsystemctl restart nfs
showmount -e 192.168.233.10
查看目标主机暴露出的共享目录
挂载:
临时/永久
mount 192.168.233.10:/opt/gongxiang /opt/test1
vim /etc/fstab
192.168.233.10:/opt/gongxiang /opt/test1 nfs defaults, netdey 0 0
netdey:有网络该目录才能挂载成功。
主机 第一步安装
[root@test2 opt]# yum -y install nfs-utils rpcbind
第二步创建目录赋予权限
[root@test2 opt]# mkdir gongxiang [root@test2 opt]# chmod 777 gongxiang/
第三步修改配置文件
[root@test2 opt]# vim /etc/exports /opt/gongxiang 192.168.65.0/24(rw,sync,no_root_squash) wq!
第四步重启文件系统
[root@test2 opt]# systemctl restart rpcbind [root@test2 opt]# systemctl restart nfs
查看共享出去文件
[root@test2 opt]# showmount -e Export list for test2: /opt/gongxiang 192.168.65.0/24
客户机
第一步安装
[root@test3 opt]# yum -y install nfs-utils rpcbind
第二部重启配置文件
[root@test3 opt]# systemctl restart rpcbind [root@test3 opt]# systemctl restart nfs
第三步查看
[root@test3 opt]# showmount -e 192.168.65.21 Export list for 192.168.65.21: /opt/gongxiang 192.168.65.0/24
第四步创建目录并挂载
[root@test3 opt]# mount 192.168.65.21:/opt/gongxiang /opt/test1
第五步检测结果
[root@test3 opt]# cd test1/ [root@test3 test1]# touch 123
客户机test3输入的内容主机test2里也能查到
[root@test2 gongxiang]# ls 123
yum的进阶
yum的主要作用
依赖安装
自动安装
自动升级
centos7 yum
centos8 dnf(yum的升级版)
apt
yum的安装包都是.rpm
ubantu的包是.deb
日志文件和缓存:/var/log/yum.log
网页版的形式做一个yum源
curl页面测试工具,后面跟上ip地址或者域名可以访问这个页面(测试web软件工作是否正常)
vsftp
http
混合