ssh远程连接和nfs共享文件系统
一、ssh远程管理
1、概述
SSH(Secure Shell)是一种加密的网络传输协议,它允许用户通过不安全的网络进行安全的远程登录和其他安全网络服务。SSH远程管理是指使用SSH协议远程连接到服务器或计算机,执行命令、管理文件和配置系统等操作。
ssh客户端 <------------------------------------------------> ssh服务端
传输层 TCP协议
ssh服务端: 22 默认端口,可以修改, 10022 1022
数据传输是加密的 --->防止信息泄露;数据传输是压缩的 --->提高传输速度
服务端:ssh openssh
客户端:xshell ;moba; 服务器自己也可以作为客户端
ssh的配置文件:
/etc/ssh/sshd_config 针对服务端的配置 --->可以修改服务端的默认端口号
/etc/ssh/ssh_config 针对客户端的配置
2、服务器命令行的远程登录方式
ssh root@192.168.206.20 #默认方式,端口号是22
ssh -p 10022 root@192.168.206.20 #p 非默认端口就要加小写的p,指定端口号为10022
3、远程复制
scp root@192.168.206.10:/opt/123 /opt #默认方式,端口号是22
scp -rP 10022 root@192.168.206.30:/opt/test /opt # -r指定目录 -P指定端口号
4、 sftp
sftp 加密的文件传输协议,更安全,传输速度要低一些
sftp root@192.168.206.10
put/get 文件
get/put -r 目录
5、免密登录
ssh的密钥登录过程
-
ssh客户端生成一个私钥文件或者公钥文件,把这个密钥文件发送到指定的服务端
-
ssh客户端向服务端发起登录请求
-
ssh服务端收到登录请求之后,根据密钥文件的加密算法产生一些随机数发送给客户端
-
客户端收到加密的随机数之后,根据密钥文件解密随机数,把这个解密的随机数发送给服务端 (互相认证密钥,互相认证身份)
-
解密的随机数保持一致,登陆成功
ssh-keygen #生成密钥对的命令
-t 指定加密算法 # 加密算法有: rsa ecdsa RSA等
ls /root/.ssh/
id_ecdsa 公钥文件 id_ecdsa.pub 私钥文件
ssh-copy-id -i id_ecdsa.pub root@192.168.206.10
-i #指定文件
ssh root@192.168.206.10 #登录
二、nfs共享文件系统
1、概述
nfs: network file system,计算机网络上共享系统(目录)的一种协议,允许不同的计算机之间通过网络共享目录,nfs 是基于网络实现的。
nfs 共享目录的服务;rpcbind 远程共享调用
2、共享目录
步骤
- 安装nfs和rpcbind依赖软件 ;
- 创建共享目录,给予权限 (一般777);
- 配置共享目录发布(/etc/exports),让其他的主机能够发现这个共享目录;
- 启动顺序:先启动rpcbind,再启动nfs;
- 服务端和客户端分别查看共享目录(showmount -e);
- 挂载使用。
例:在一台主机上暴露三个目录实现共享
ubuntu1 192.168.206.20 服务器
ubuntu2 192.168.206.30 客户端
两边都先安装依赖环境
apt -y install nfs-kernel.server
apt -y install rpcbind
服务器ubuntu1
客户端ubuntu2