SSH服务
SSH基本概述
SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?
1.提供远程连接服务器的服务
2.对传输的数据进行加密
那么除了SSH协议能提供远程连接服务,Telnet也能提供远程连接服务, 那么分别的区别是什么呢?
ssh服务会对传输数据进行加密, 监听在本地22/tcp端口, ssh服务默认支持root用户登录
telnet服务不对数据进行加密, 监听在本地23/tcp端口, Telnet默认不支持root用户登录
服务连接方式 | 服务数据传输 | 服务监听端口 | 服务登陆用户 |
---|---|---|---|
ssh | 加密 | 22/tcp | 默认支持root用户登陆 |
telnet | 明文 | 23/tcp | 不支持root用户登陆 |
案例: 使用wireshark验证telnet明文传输与ssh加密传输
1.安装telnet服务并运行
[root@m01 ~]# yum install telnet-server -y
[root@m01 ~]# systemctl start telnet.socket
2.使用wireshark检测vmnet8网卡上telnet的流量
3.telnet是无法使用root用户登录Linux系统,需要创建普通用户
[root@nfs ~]# useradd ahui
[root@nfs ~]# echo "1"| passwd --stdin ahui
4.使用普通用户进行telnet登录
5.搜索wireshark包含telnet相关的流量
6.使用wireshark分析ssh流量
SSH相关命令
SSH有客户端与服务端,我们将这种模式称为C/S架构,ssh客户端支持Windows、Linux、Mac等平台。
在ssh客户端中包含 ssh|slogin远程登陆、scp远程拷贝、sftp文件传输、ssh-copy-id秘钥分发等应用程序。
ssh远程登录服务器命令示例
ssh -p22 root@10.0.0.61
# -p指定连接远程主机端口,默认22端口可省略
# root@remotehost
# "@"前面为用户名,如果用当前用户连接,可以不指定用户
# "@"后面为要连接的服务器的IP
windows连接Linux服务器
xshell 工具
crt 工具
1)直接连接 默认是22端口 会弹出xshell的输入用户名和密码对话框
ssh 10.0.0.7
2)指定用户连接 指定用户名方式远程连接
ssh root@10.0.0.31
3)指定端口连接
ssh root@10.0.0.31 2222
Linux连接Linux服务器
1)默认远程连接
端口默认22
用户默认以当前登陆的系统用户为远程连接用户
如果当前nfs登陆是root 则 以验证10.0.0.7的root用户身份密码
[root@nfs ~]# ssh 10.0.0.7
2)指定用户名连接
[root@nfs ~]# ssh root@10.0.0.7
3)指定端口远程连接 -p2222
[root@web01 ~]# ssh -p2222 root@10.0.0.31
scp复制数据至远程主机命令(全量复制)
-P 指定端口,默认22端口可不写
-r 表示递归拷贝目录
-p 表示在拷贝文件前后保持文件或目录属性不变
-l 限制传输使用带宽(默认kb)
scp远程拷贝类似rsync
rsync 增量备份 推送目录加/ 表示目录下面的内容 不加/ 表示目录本身
scp 全量备份 加/和不加/ 都表示目录本身
1)将31的hosts拷贝到7的/root目录下 推送数据
默认以当前登陆系统用户作为远程验证用户
命令 源文件 目标地址
[root@nfs ~]# scp /etc/hosts 10.0.0.7:/root/
root@10.0.0.7's password:
hosts 100% 158 179.9KB/s 00:00
推送多个文件
[root@nfs ~]# scp /etc/hosts /etc/passwd 10.0.0.7:/root/
推送ahui目录下所有的文件
[root@nfs ~]# scp /ahui/* 10.0.0.7:/root/
2)将7的/root目录下的hosts文件下载到本地的/opt目录下 下载数据