目录
一、概念
二、特点
三、身份验证机制
1.密码验证
2.密钥对验证
四、验证过程
五、加密机制
1.单向加密
2.对称加密
3.非对称加密
六、基本参数
1.服务名
2.端口号
3.配置文件
3.1 服务器端
3.2 客户端
4.配置文件解析
4.1 /etc/ssh/sshd_config
4.2 /etc/ssh/ssh_config
七、基本操作 - 命令
1.ssh
1.1 作用
1.2 格式
1.3 选项
1.4 案例
1.4.1 指定用户登录
1.4.2 不登录执行命令
2.scp
2.1 作用
2.2 类型
2.3 案例
3.sftp
4.密钥对验证
4.1 作用
4.2 实验
一、概念
安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。
二、特点
三、身份验证机制
1.密码验证
需要提供密码
2.密钥对验证
无需提供密码,直接登录
四、验证过程
- 客户端发起请求,ssh 服务器IP地址
- 确认是否保存指纹信息,yes确认保存
- 输入目标主机密码
- 打开子shell建立会话
- 若退出,则使用exit
五、加密机制
1.单向加密
不可逆的加密算法
2.对称加密
加密和解密使用相同的密钥
3.非对称加密
加密和解密使用一组密钥对(公钥、私钥)
六、基本参数
1.服务名
sshd
2.端口号
TCP/22
3.配置文件
3.1 服务器端
/etc/ssh/sshd_config ssh主程序sshd的配置文件
/etc/ssh/ssh_host_* 服务器的公钥和私钥文件
~/.ssh/authorized_keys 密钥库文件
3.2 客户端
/etc/ssh/ssh.config 客户端的全局配置文件
~/.ssh/known_hosts 客户端存储服务器主机指纹的文件
~/.ssh/id_rsa 客户端生成的私钥
~/.ssh/id_rsa.pub 客户端生成的公钥
注:没有绝对的客户端和服务器,主要是看谁是发起端,谁是接收端
4.配置文件解析
4.1 /etc/ssh/sshd_config
Port 监听端口
Listenaddress 监听地址,0.0.0.0表示监听所有地址
PubkeyAuthentication 是否启用密钥对验证
PasswordAuthentication 是否启用密码验证
PermitEmptyPasswords 是否启用空密码,密码验证时,最好关闭
AuthorizedKeysFile .ssh/authorized_keys 密钥库文件
4.2 /etc/ssh/ssh_config
ConnectTimeout 连接超时时间
七、基本操作 - 命令
1.ssh
1.1 作用
远程连接的客户端工具
1.2 格式
ssh [options] [user@]hostname [command]
1.3 选项
-p, 指定端口
-b, 指定网卡
1.4 案例
1.4.1 指定用户登录
客户端以a1的用户身份登录到服务器
1.4.2 不登录执行命令
客户端使用a1的用户身份不登录到服务器,执行查看服务器网卡配置文件的内容
ssh a1@192.168.42.138 cat /etc/sysconfig/network-scripts/ifcfg-ens33
2.scp
2.1 作用
基于ssh的远程复制命令
2.2 类型
本地<-->本地
本地<-->远程
远程<-->远程
2.3 案例
- 将客户端192.168.42.140主机上的/etc/hosts文件复制到服务器192.168.42.138主机的mnt目录下
scp root@192.168.42.140:/etc/hosts root@192.168.42.138:/mnt
- 通过客户端将服务器192.168.42.138上的/etc/hostname文件复制到另一个服务器192.168.42.141的opt目录下
scp root@192.168.42.138:/etc/hostname root@192.168.42.141:/opt
3.sftp
作用:安全的文件传输程序
4.密钥对验证
4.1 作用
提供免交互的密码验证
4.2 实验
客户端生成密钥对 ssh-keygen
客户端将公钥上传至服务器 ssh-copy-id
服务器启用密钥对验证
客户端测试