目录
Linux下的SSH服务
SSH服务简介和原理
SSH协议中文名叫远程登录协议,是一种远程终端连接工具,可以通过客户端连接到服务端,从而远程控制电脑或服务器。默认端口为22号端口,基于TCP协议
SSH协议的优点就是数据传输是加密的,并且在传输时数据是压缩传输。既保障了数据的安全性,又大大提高了数据传输速率。
登陆原理
SSH结构
SSH由服务端 (openssh) 和客户端 (常见为ssh) 组成。
SSH的服务端为守护进程 (daemon),它在后台进行并且相应来自客户端的连接请求。服务端的进程名为sshd,负责实时监听和控制远端的连接请求。一般包括公共密钥认证,密钥交换,对称密钥加密和非安全连 接等。
SSH客户端包含 ssh 和 scp (远程拷贝),slogin (远程登录),sftp (ftp的文件传输)等应用程序
SSH服务附带的SCP命令
scp命令是用于远程拷贝文件或目录的命令
格式:scp [参数] 文件 用户@IP地址:目标目录
scp参数:
-r 复制目录
-p 复制目录时保留属性
-P 接端口,默认22号端口
-l 限制速度
scp可以将文件或目录推送至目标主机;也可以从目标主机拉取文件到本机。举例说明,
现在我使用的主机为192.168.75.130,目标主机为192.168.75.137;
推:scp -r -p /home/monkey.txt 192.168.75.137:/home
#将130的主机的monkey.txt文件推送到137的主机的/home下
拉: scp -p 192.168.75.137:/home/cpu.sh ./
#将137的cpu.sh文件拉到130的当前位置下
使用ssh服务
1.检查是否安装ssh服务:rpm -qa | grep openssh 。显示有结果则安装了ssh服务,执行第3步
2.安装ssh服务:yum install openssh -y
3.查看ssh服务状态,并启动:查看:systemctl status sshd; 启动:systemctl start sshd
ssh基本用法
ssh -p user@host
-p 指定端口
user 登陆的用户名
host 登陆的主机地址
默认端口为22号端口;如果用当前登录用户连接,或本地正在使用的用户名与远程登陆的用户名一致时,登录名可以省略
ssh服务的两种认证类型
基于口令认证
基于口令认证,也就是我们现在使用的,但是前提是要知道服务端的账号和密码。通过ssh加密实现远程登录。
基于密钥认证
大致流程是这样的
- SSH客户端以root用户身份创建密钥对
- 服务端将公钥信息导入用户root的公钥数据库文件
- 客户端以root用户身份连接服务器端root用户测试
ssh服务常见配置
ssh服务的配置文件为 /etc/ssh/sshd-config
1.修改ssh端口
ssh服务默认端口为22号端口,我们把默认端口设置为任意其他端口(注意:修改的都那口,不能被占用,以免无法启动)。
修改完成后,重启sshd服务
systemctl restart sshd
这时候,再次使用xshell或mobaxterm打开窗口连接虚拟机时,会发现无法连接。
2.禁止root用户登录
将第二行的内容注释去掉后,将yes修改为no,然后重启ssh服务,会发现使用root用户登录系统时,系统发出 Access denied(拒绝访问)的回复。
3.限制ssh监听的IP
此方式适用于多个虚拟网卡的设备,可以避免多个主机连接服务器,从而减少主机数据损坏的风险。
首先我创建了一个新的虚拟网卡,IP为192.168.75.170 。让后将这个IP添加到文件中
接着,重启服务 systemctl restart sshd
验证
4.禁止使用密码登录
此方式主要是为了提高安全性,禁止密码登录的形势下,只能通过密钥登录。因此我们在设置之后就不能通过密码进行登录,只有设置了密钥才能登录成功。
Rsync远程同步备份工具
Rsync使用的端口号是873端口。
Rsync服务优点如下:
1.备份属于增量备份,只传输修改过的文件。
2.在文件传输前和文件传输后,会对传输的文件进行压缩,从而可以减少传输带宽,降低传输时间。
3.可以对整个目录树和文件系统进行备份,可以选择性的备份软