linux系统网络设置之ssh和nfs
安装仓库
linux安装方式:
1、源码安装:可以自定义安装
2、软件包安装rpm和dpkg:.rpm和.deb是自动发现依赖关系,但是不能解决依赖关系
3、apt和yum:可以解决依赖关系
apt仓库
安装源无论是在线还是离线都必须包含可用的deb包。
云信息的核心:包与包之间的依赖关系
在线源:必须要联网,包是需要远程下载的
1、找到安装包
2、找到安装包的依赖关系
3、下载安装包和依赖条件
4、安装
离线源:
1、光盘镜像自带
2、本地目录集成好了安装包
3、找到安装包和依赖关系
4、安装
Ubuntu系统
在ubuntu系统中安装离线源
cd /etc/apt # 切换到安排apt目录下
vim sources.list #配置sources文件
deb [trusted=yes] file:///mnt focal main restriced universe multiverse
deb [trusted=yes] file:///mnt focal-updates main restricted universe multiverse
#更新
deb [trusted=yes] file:///mnt focal-security main restricted universe multiverse
#加密
deb [trusted=yes] file:///mnt focal-backports main restricted universe multiverse
#备用
保存退出
ubuntu的离线源就安装好了
字符 | 含义 |
---|---|
trusted=yes | 信任源 |
file:// | 对象的路径是一个本地目录,如果是镜像:需要设备和本地目录做挂载,如果是本地目录:需要把包在目录里面准备好(全量) |
main | ubuntu官网支持的基础包,如果不需要其他的特殊的软件,足够使用 |
restricted | 专用的软件包,显卡,网卡驱动之类的 |
universe | 开源的第三方的软件包(官方没有的,不在官方支持的范围之内的包) |
multiverse | 版权受限的包(官方没有版权的软件包) |
centos系统
本地在线源:我们用网页的显示,在内网中提供一个公共的访问地址
cd /var/www/html
mkdir centos7
systemctl stop firewalld
setenforce 0
# 关闭防火墙
systemctl restart httpd
#重启http,在浏览器中输入IP地址就可以显示网页
cd /etc/yum.repos.d
vim http.repo #配置安装源
[http]
name=test
baseurl=http://192.168.42.140/centos7/
gpgcheck=0
priority=1 #优先级
[online]
name=test1
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
priority=2
保存退出
yum clean all && yum makecache #更新并同步
远程管理
ssh远程管理:加密的安全通信协议
1、实现字符串界面的远程登录
2、远程复制
3、sftp:加密的文件传输协议
4、免密登录(密钥对实现远程登录)
ssh的默认端口号22,是可以修改的,ssh数据传输是加密的,防止信息泄露,数据传输是压缩,可以提高传输速度,通是服务器自己也可以是客户端
sshd的配置文件
sshd_config:指定服务端的配置
ssh_config:指定客户端的配置
远程登录方式
服务器命令行的远程的登录方式:
ssh root@IP地址
默认端口:22
字符 | 含义 |
---|---|
ssh | 远程登陆的命令 |
root | 表示登陆方的用户 |
ip地址 | 目标方的IP地址 |
不是默认端口的情况:
vim /etc/ssh/sshd_config,进入配置文件修改端口号
ssh -p 端口号 root@ip地址
只要端口号不是22,都要加上小写的p,指定端口
远程复制
scp:远程复制的命令
默认端口22:
scp root@IP地址 要复制的文件 指定的位置
非默认端口:
scp -P 端口号 root@IP地址 要复制的文件 指定的位置
远程复制中指定端口号要用大写的P
-r:指定目录,可以复制目录
sftp
加密的文件传输协议,更安全,传输速度要低一些
默认端口22:
sftp root@IP地址
非默认端口:
sftp -P 端口号 root@IP地址
ssh的密钥登陆
1、ssh客户端生成一个私钥或者公钥文件,把这个密钥文件发送到服务端的指定位置
2、ssh客户端向服务端发起登录请求
3、ssh服务端收到登录请求之后,根据密钥文件的加密算法产生一些随机数发送给客户端
4、客户端收到加密的随机数之后,根据密钥文件加密随机数,把这个解密的随机数发送给服务端(互相认证密钥,互相认证身份)
5、解密的随机数,保持一致,登陆成功
生成密钥
生成密钥对:
ssh-keygen -t ecdsa
ssh-keygen 生成密钥对的命令
-t:指定加密算法
加密算法:rsa、ecdsa
切换到/root/.ssh目录下
id-ecdsa 公钥文件 id-ecdsa.pub 私钥文件
ssh-copy-id -i 私钥文件 目标IP地址
#把密钥文件传送给目标主机
登录
nfs
nfs:计算机上共享文件系统(目录)的一种协议
允许不同的计算机之间通过网络共享
nfs软件包:
nfs:共享目录的服务
rpcbind:远程共享调用
nfs基于网络实现
1、创建共享目录,给于权限(777)
2、安装nfs和rpcbind
ubuntu系统中nfs安装包:
nfs-kernel-server
centos系统中nfs安装包
nfs-utils
3、配置共享目录发布,让其他的主机能够发现这个共享出来的目录
/etc/exports
共享目录 192.168.42.0/24 (rw,sync,root_squash)
192.168.42.0/24:哪些主机可以共享目录
(rw/syne.root_qyuash):其他主机在这个目录上的权限
rw:可读
sync:表示任何写入都同时写入到磁盘中(同步)
root_squash:表示客户机用户root用户访问这个目录时,会把root用户映射成匿名用户(权限受限)
no_root_squash:表示客户机用户root用户访问这个目录时就是root权限
4、启动顺序: 先启动rpcbind,在启动nfs-server
5、服务端和客户端分别查看共享目录(重点)
showmount -e
6、挂载使用
,_netdev:挂载设备需要网络,网络组件启动之后才能进行挂载
练习
在一台主机上暴露三个目录实现共享
1、 先在两台主机上下载安装nfs软件和rpcbind软件
2、 在第一台主机上创建3个共享目录并且修改权限
3、 进入/etc/exports配置共享文件,让其他主机可以查看
4、 启动共享文件,要先启动rpcbind,再启动nfs,然后查看两台主机是否能查看到共享目录
5、 在第二台主机上找3个空目录,进行挂载,在/etc/fstab配置文件中进行永久挂载
6、 在第二台主机上的3个挂载目录中分别创建3个文件,在第一台主机的共享目录中是能看到的