小实验
shh远程管理
ssh是一种安全通道协议,只能用来实现字符界面的远程登录。远程复制,远程文本传输。
ssh对通信双方的数据进行了加密。
用户名和密码登录
密钥对认证方式(可以实现免密登录)
ssh 22 网络层 传输层
数据传输的过程中是加密的
数据传输的过程中是压缩的
ssh分为服务端和客户端
服务端:Openssh
客户端:xshell moba
sshd 应用名称
22
ssh_config 针对客户端的配置文件
sshd_config 服务端的配置
都是配置文件,作用不同。
监听地址,对外提供的服务的地址
远程复制:把目标主机的文件复制到本机。
ssh -p 10022 root@192.169.60.30
scp root@192.168.60.30:/opt/xy102.txt /opt/
scp -r
scp -rP
scp -P
免密登录操作:
1、创建一个密钥文件
[root@test2 ~]# 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:cfHfRXdOJFaFCh3qnArOT9oGSni0MbsVt4hyOZkSj9E root@test2 The key's randomart image is: +---[ECDSA 256]---+ | ....o+X| | .+...=o| | . . o... o| | o E . .= ... ..| | B X.+S.+ . .| | = &o+... | | * =o.o | | o =. | | ..o | +----[SHA256]-----+
2、进入.ssh目录下
[root@test2 ~]# cd /root/.ssh/
3、将公钥文件传给test3
[root@test2 .ssh]# ssh-copy-id -i id_ecdsa.pub -p 10022 root@192.168.60.30 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_ecdsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
4、刷新和生成密钥环境
[root@test2 .ssh]# ssh-agent bash [root@test2 .ssh]# ssh-add Identity added: /root/.ssh/id_ecdsa (/root/.ssh/id_ecdsa)
5、无需密码直接进入test3
[root@test2 .ssh]# ssh root@192.168.60.30 ssh: connect to host 192.168.60.30 port 22: Connection refused
xshell的免密登录操作:
1、新建一个xshell
2、记住登录的用户
3、生成密钥
4、将密钥复制到.ssh目录下,并赋权
[root@test3 ~]# cd .ssh/ [root@test3 .ssh]# ls id_ecdsa id_ecdsa.pub known_hosts [root@test3 .ssh]# rz -E rz waiting to receive. [root@test3 .ssh]# ls id_ecdsa id_ecdsa.pub id_rsa_2048.pub known_hosts [root@test3 .ssh]# cat id_rsa_2048.pub >> authorized_keys [root@test3 .ssh]# ls authorized_keys id_ecdsa.pub known_hosts id_ecdsa id_rsa_2048.pub [root@test3 .ssh]# chmod 600 authorized_keys
sftp:远程文件传输协议
Openssh:包含3个功能
远程连接
远程复制
文件传输
sftp是加密的文件传输协议,传输效率比FTP低,但是更安全
sftp -P
ssh密钥认证
密钥对认证(免密登录)
密钥:密钥是一种参数,把明文转换成密文。转换成的密文是一种算法声场的参数。
密钥的形式分为两种,对称密钥,非对称密钥
ssh 非对称密钥
ssh的加密方式:
RSA
ECDSA
DSA
加密的算法可以指定。
id_ecdsa 私钥文件
id_ecdsa.pub 公钥文件
免密登录的过程:
ssh-keygen -t ecdas #执行加密的算法
ssh-copy-id -i id ecdsa.pua (-p 10022)root@192.168.60.10
把公钥文件发送到对方主机
ssh-agent bash
把密钥对进行缓存,可以自动提供身份验证,实现免密登录
ssh-add
管理缓存
NFS共享存储服务
network file system 在计算机网络中共享文件系统的协议
计算机之间可以通过网络共享目录和文件
rpcbind 远程共享调用
nfs 共享服务
配置nfs时,要先启动调用rpcbing,再开启nfs
rpcbind端口号111
nfs 2049(查询不到)
/optgongxiang 192.168.233.0/24(rw,sync,no root_squash)
/opt/gongxian8 声明本机,的共享目录
192.168.233.0/24 声明网段,谁可以访问本机的共享目录。(声明指定的主机可以访问共享目录 作业)
(rw,sync,no root_squash)权限,共享目录的使用者的权限。
rw 读写 ro 只读
sync 同步写入到硬盘当中(共享用户的操作。)
no_root_squash 如果客户机以root用户访问共享目录,就给你和本机的root用户一样的权限。
root_squash 客户机root用户登录访问共享目录,就会把你变成匿名用户。
all_squash 所有访问用户都映射为匿名用户或用户组 async 将数据先保存在内存缓冲区中,必要时才写入磁盘。 subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。 no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
主机:
vim/etc/exports
/opt/gongxiang 192.168.60.0/24(rw,sync,no_root_squash)
systemctl restart rpcbind
systemctl restart nfs
showmount -e
查看本机共享出去的目录
客户机:
安装rpching和nfs
systemctl restart rpcbind
systemctl restart nfs
showmount -e 192.168.60.30
挂载:
临时
mount192.168.60.30:/optgongxiang /opt/test1
vim /etc/fstab
192.168.60.30:/opt/gongxiang /opt/test1 nfs defaults,netdev 0 0
nfs共享操作:
1、在主机安装软件包
[root@test2 opt]# yum -y install nfs-utils rpcbind
2、在opt目录下创建一个gongxiang目录,并赋权777
[root@test2 opt]# mkdir gongxiang [root@test2 opt]# chmod 777 gongxiang/ [root@test2 opt]# ls gongxiang
3、在etc目录下新建一个exports文件
[root@test2 opt]# vim /etc/exports /opt/gongxiang 192.168.60.0/24(rw,sync,no_root_squash)
4、重启配置文件
[root@test2 opt]# systemctl restart rpcbind [root@test2 opt]# systemctl restart nfs
5、查看主机可以共享的目录和可以共享的网段
[root@test2 opt]# showmount -e Export list for test2: /opt/gongxiang 192.168.60.0/24
6、在客户机安装软件包
[root@test3 opt]# yum -y install nfs-utils rpcbind
7、在客户机重启配置文件
[root@test3 opt]# systemctl restart rpcbind [root@test3 opt]# systemctl restart nfs
8、在客户机查看主机的共享目录
[root@test3 ssh]# showmount -e 192.168.60.30 Export list for 192.168.60.30: /opt/gongxiang 192.168.60.0/24
9、挂载
[root@test2 opt]# mount 192.168.60.30:/opt/gongxiang /opt/test1 [root@test2 test1]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 38G 5.5G 32G 15% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 13M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt /dev/sda1 xfs 1014M 179M 836M 18% /boot /dev/mapper/centos-home xfs 19G 37M 19G 1% /home tmpfs tmpfs 378M 8.0K 378M 1% /run/user/42 tmpfs tmpfs 378M 36K 378M 1% /run/user/0 /dev/sdb2 xfs 17M 6.5M 11M 39% /data2 /dev/sdb3 xfs 5.0G 33M 5.0G 1% /data3 192.168.60.30:/opt/gongxiang nfs4 38G 5.5G 32G 15% /opt/test1
10、在客户机中往test1中写入文件
[root@test2 opt]# ls test1 [root@test2 opt]# cd test1/ [root@test2 test1]# touch 123123 [root@test2 test1]# ls 123123
11、在主机中查看客户机写入的文件
[root@test3 opt]# cd /opt/gongxiang/ [root@test3 gongxiang]# ls [root@test3 gongxiang]# ls 123123
yum的进阶
yum主要的作用:
依赖关系
自动安装
自动升级
centos7 yum
centos8 dnf(yum的升级版)
dnf -y install
Ubuntu
apt
yum的包都是.rpm
Ubunt的包都是.deb
日志文件和缓存:/var/log/yum.log
网页版的形式做一个yum
网页版的形式做一个yum 操作:
1、安装apache
[root@test2 test1]# yum -y install httpd
2、进入yum.repos.d目录下新建文件
[root@test2 html]# cd /etc/yum.repos.d/ [root@test2 yum.repos.d]# vim httpd.repo [httpd] name=123 baseurl=http://192.168.60.20/centos7 gpgcheck=0
3、进入html目录下
[root@test2 test1]# cd /var/www/html/ [root@test2 html]# mkdir centos7
4、挂载
[root@test2 html]# mount /dev/cdrom /var/www/html/centos7/
5、清除缓存并建立元数据
[root@test2 centos7]# yum clean all && yum makecache
6、访问页面
curl页面测试工具,后面跟上ip地址或者域名可以访问这个页面(测试web软件工作是否正常)
vsftpd
http
混合
vsftp的yum源操作:
1、安装vsftpd软件包
[root@test2 ~]# yum -y install vsftpd
2、关闭防火墙
[root@test2 ~]# systemctl stop firewalld.service [root@test2 ~]# setenforce 0
3、进入ftp目录下新建应该centos7
[root@test2 ~]# cd /var/ftp/ [root@test2 ftp]# ls pub [root@test2 ftp]# mkdir centos7
4、挂载
[root@test2 ftp]# mount /dev/cdrom /var/ftp/centos7/ [root@test2 ftp]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 38G 4.7G 33G 13% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 13M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 179M 836M 18% /boot /dev/mapper/centos-home xfs 19G 37M 19G 1% /home tmpfs tmpfs 378M 8.0K 378M 1% /run/user/42 tmpfs tmpfs 378M 36K 378M 1% /run/user/0 /dev/sdb2 xfs 17M 6.5M 11M 39% /data2 /dev/sdb3 xfs 5.0G 33M 5.0G 1% /data3 192.168.60.30:/opt/gongxiang nfs4 38G 5.5G 32G 15% /opt/test1 /dev/sr0 iso9660 4.3G 4.3G 0 100% /var/ftp/centos7
5、打开vsftpd服务
[root@test2 yum.repos.d]# systemctl restart vsftpd
6、在yum.repos.d的目录下创建一个local.repo的文件
[root@test2 yum.repos.d]# vim local.repo [local] name=123 baseurl=ftp://192.168.60.20/centos7 gpgcheck=0
7、清除缓存和建立元数据
[root@test2 yum.repos.d]# yum clean all && yum makecache 已加载插件:fastestmirror, langpacks 正在清理软件源: local Cleaning up list of fastest mirrors Other repos take up 696 M of disk space (use --verbose for details) 已加载插件:fastestmirror, langpacks Determining fastest mirrors local | 3.6 kB 00:00 (1/4): local/group_gz | 166 kB 00:00 (2/4): local/filelists_db | 3.2 MB 00:00 (3/4): local/primary_db | 3.1 MB 00:00 (4/4): local/other_db | 1.3 MB 00:00 元数据缓存已建立
vsftpd和httpd的混合yum源操作:
1、创建vsftpd和httpd的混合
[root@test2 yum.repos.d]# vim local.repo [local] name=123 baseurl=ftp://192.168.60.20/centos7 gpgcheck=0 priority=2 #指定优先级,数字越大,优先级越高 [net] name=456 baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/ gpgcheck=0 priority=1
2、清空缓存和建立元数据
[root@test2 yum.repos.d]# yum clean all && yum makecache 已加载插件:fastestmirror, langpacks 正在清理软件源: local net Cleaning up list of fastest mirrors Other repos take up 696 M of disk space (use --verbose for details) 已加载插件:fastestmirror, langpacks Determining fastest mirrors local | 3.6 kB 00:00 net | 4.3 kB 00:00 (1/10): local/group_gz | 166 kB 00:00 (2/10): local/filelists_db | 3.2 MB 00:00 (3/10): local/other_db | 1.3 MB 00:00 (4/10): local/primary_db | 3.1 MB 00:00 (5/10): net/group | 399 kB 00:06 (6/10): net/updateinfo | 1.0 MB 00:01 (7/10): net/prestodelta | 1.5 kB 00:00 (8/10): net/primary_db | 8.7 MB 00:10 (9/10): net/filelists_db | 15 MB 00:19 (10/10): net/other_db | 4.1 MB 00:04 元数据缓存已建立