第二阶段基础
时 间:2023年5月17日
参加人:全班人员
内 容:
SSH服务
目录
一、基本信息
(一)概念:安全外壳协议,提供安全可靠的远程连接
(二)特点
1:ssh是工作在传输层和应用层的协议
2:ssh提供了一组管理命令
ssh、scp、sftp
ssh-copy-id
3:提供了多种身份验证机制
(三)身份验证机制
密码验证:需要提供密码
密钥对验证:无需提供密码,直接登录
(四)验证过程
客户端发起请求
确认是否保存指纹信息,yes确认保存
输入目标主机密码
打开子shell建立会话
若退出,则使用exit
(五)加密机制
单向加密:不可逆的加密算法
对称加密:加密和解密使用相同的密钥
非对称加密:加密和解密使用一组密钥对(公钥、私钥)
二、基本参数
(一)服务名:sshd
(二)端口号:TCP/22
(三)配置文件
1:服务器端
/etc/ssh/sshd_config ssh主程序sshd的配置文件
/etc/ssh/ssh_host_* 服务器的公钥和私钥文件
~/.ssh/authorized_keys 密钥库文件
2:客户端
/etc/ssh/ssh.config 客户端的全局配置文件
~/.ssh/known_hosts 客户端存储主机指纹的文件
~/.ssh.id_rsa 客户端生成的私钥
~/.ssh.id_rsa.pub 客户端生成的公钥
备 注:
没有绝对的客户端和服务器
主要是看谁是发起端,谁就是客户端
谁是接收端,谁就是服务端
(四)配置文件解析
/etc/ssh/sshd_config
Port 监听端口
Listenaddress 监听地址,0.0.0.0表示监听所有地址
PubkeyAuthentication 是否启用密钥对验证
PasswordAuthentication 是否启用密码验证
PermitEmptyPasswords 是否启用空密码,密码验证时,最好关闭
/etc/ssh/ssh_config
ConnectTimeout 连接超时时间
三、基本操作
(一)ssh
作用:远程连接的客户端工具
格式:ssh [options] [user@]hostname [command]
-p 指定端口
-b 指定网卡
实验:
指定用户登录
练习:客户端以jx01的用户身份登录到服务器
ssh jx01@192.168.50.50
不登录执行命令
练习:客户端使用jx02的用户身份不登录到服务器,执行查看服务器网卡配置文件的内容
ssh root@192.168.50.50
useradd jx02
passwd jx02
exit
ssh jx02@192.168.50.50 cat /etc/sysconfig/network-scripts/ifcfg-ens33
(二)scp
作用:基于ssh的远程复制命令
实验:
本地<-->本地
类似于cp
scp 1.txt /opt/1.txt
本地<-->远程
例:scp /etc/hosts root@192.168.99.99:/ 本地到远程
scp root@192.168.99.99:/etc/hostname /opt远程到本地
远程<-->远程 !!!
现有基本条件如下:
主机:hy01(ens33:192.168.0.1)(ens36:192.168.1.1)
hy02(ens33:192.168.0.10) hy03(ens33:192.168.1.10)
hy01与hy02可以ping;hy01与hy03也可以ping
hy01:touch a.txt
hy02:
scp root@192.168.0.1:a.txt root@192.168.1.10:
此时hy03上也有了a.txt的文件
练习:
1、将客户端192.168.99.10主机上的/etc/hosts文件复制服务器到192.168.99.99主机上
分为临时配置和永久配置
临时配置:
配置ip hy01
ifconfig ens33 192.168.99.10 netmask 255.255.255.0
添加网关
route add default gw 192.168.99.10
配置ip hy02
ifconfig ens33 192.168.99.99 netmask 255.255.255.0
添加网关
route add default gw 192.168.99.99
测试连通性ping
hy01:ping 192.168.99.99
复制文件
scp /etc/hosts root@192.168.99.99:
永久配置:
配置hy01 ip:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr:192.168.99.10
配置hy02 ip:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr:192.168.99.99
测试连通性ping
hy01:ping 192.168.99.99
复制文件
scp root@192.168.0.10:/etc/hostname /opt
2、将服务器192.168.0.1上的/etc/hostname文件复制到本地192.168.0.10的opt目录下
分为临时配置和永久配置
临时配置:
配置ip hy01
ifconfig ens33 192.168.0.1 netmask 255.255.255.0
添加网关
route add default gw 192.168.0.1
配置ip hy02
ifconfig ens33 192.168.0.10 netmask 255.255.255.0
添加网关
route add default gw 192.168.0.10
测试连通性ping
hy01:ping 192.168.0.10
复制文件
scp root@192.168.0.10:/etc/hostname /opt
永久配置:
配置hy01 ip:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr:192.168.0.1
配置hy02 ip:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr:192.168.0.10
测试连通性ping
hy01:ping 192.168.99.99
复制文件
scp root@192.168.0.10:/etc/hostname /opt
(三)sftp
作用:安全的文件传输程序
实验:get(下载)put(上传)
sftp root@192.168.50.50
<sftp>get 1.txt
<sftp>put a.txt
<sftp>exit
(四)密钥对验证
作用:提供免交互的密码验证
实验:
客户端生成密钥对
ssh-keygen
客户端将公钥上传至服务器
ssh-copy-id +ip
例:
现有主机hy01(ens33:192.168.0.1)
hy02(ens33:192.168.0.10)
hy01为客户端,hy02为服务端
hy01:ssh-keygen
hy01:ssh-copy-id 192.168.0.10
输入一次密码之后,回车到最后
hy01:vim etc/ssh/sshd
PubkeyAuthentication yes
PasswdAutnentication no
PermitEmptypasswords no
PasswordAutnentication no
hy01:systemctl restart ssh
hy01:ssh 192.168.0.10就不需要密码了
服务器启用密钥对验证
客户端测试