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