ssh远程服务
简介
SSH (安全外壳协议)为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
SSH 主要由三部分组成:
-
传输层协议 [SSH-TRANS] 提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS
通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS
提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。 -
用户认证协议 [SSH-USERAUTH] 用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS
上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H
)。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。 -
连接协议 [SSH-CONNECT]
将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11
连接。实验过程
SSH
服务器ip:192.168.1.10
客户端ip:192.168.1.20
服务器配置:
[root@localhost ~]# vim /etc/ssh/sshd_config
最后一行加入(允许登录的用户):AllowUsers xixi haha
重启: [root@localhost ~]# systemctl restart sshd
- 服务器创建xixi与haha用户,设置密码
useradd xixi
useradd haha
passwd xixi
passwd haha
客户端验证:
验证之后记得退出:
限定用户登录的IP
服务器配置:
vim /etc/ssh/sshd_config
重启:systemctl restart sshd
客户端更改IP进行验证
scp上传下载
-
上传
scp 本地目录/文件名 用户名@主机地址:/远程目录
客户端创建文件111.txt,服务器创建测试文件夹t325,赋予777权限方便测试
-
下载
scp 用户名@主机地址:/远程目录 /本地目录
服务器创建一个目录/mulu,赋予权限,创建测试文件12.txt,客户端下载
sftp服务
格式:sftp 用户名@主机地址
注:sshd使用非默认端口号时:登陆时必须通过-p选择指定端口号 ssh -p 端口号 用户名@主机地址
密钥对验证
客户端创建用户,然后在本地创建密钥对
useradd user1
passwd user1
切换到用户user1,然后:ssh-keygen -t rsa,一直回车即可创建密钥对
cd /home/user1/.ssh/
ls 查看
id_rsa是私钥 id_rsa.pub是公钥
将生成的公钥传给服务端
ssh-copy-id -i ./id_rsa xixi@192.168.1.10
服务器配置:
编辑主配置文件
客户端直接远程: