目录
一、概述
概述 | |
---|---|
1. | ssh服务,一种远程管理连接工具,在CentOS7系统中默认安装并开机自启的。 |
2. | SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。 |
3. | 监听tcp的22号端口。软件包名称:openssh |
配置文件目录 | |
---|---|
服务端配置文件 | /etc/ssh,sshd_config |
客户端配置文件 | ssh_config |
客户端提供:ssh、scp、sftp命令
服务端提供:sftp服务、ssh服务
二、 配置文件
Port 22 #监听端口
AddressFamily any #ip地址版本
ListenAddress 0.0.0.0 #监听地址,ipv4
ListenAddress :: #监听地址,ipv6
PermitRootLogin yes #是否允许root用户登录
MaxAuthTries 6 #重新连接最大次数
MaxSessions 10 #建立不同用户的会话的最大个数
PubkeyAuthentication yes #是否启用公钥对验证登录
AuthorizedKeysFile .ssh/authorized_keys #存储客户端公钥信息的文件
PasswordAuthentication yes #是否启用密码验证登录
PermitEmptyPasswords no #是否允许空密码登录
UsePAM yes #启用系统用户及密码进行验证登录
UseDNS no #是否启用ssh内部的解析,会影响连接速度
客户端配置文件: ssh_config,设置ssh命令连接的关键配置
Port 22 #设置ssh命令连接的默认端口
三、命令解析
命令 | 语法 |
---|---|
远程登录命令 | ssh [选项] [username@]ssh服务器的监听IP地址或者主机名(使用主机名时,保证客户端能够解析主机名) |
指定连接服务器的监听端口 | ssh -p port |
将本机的文件拷贝到远程主机 | scp 本机的文件路径 [username@]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 |
将远程主机的文件拷贝到本机 | scp [username@]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 本机的文件路径 |
sftp服务登录命令 | sftp [选项] [username@]ssh服务器的监听IP地址或者主机名(使用主机名时,保证客户端能够解析主机名) |
四、登录方式配置
1、用户名密码登录
默认方式,直接可以使用
2、公钥验证登录
密码学基础:
概念 | 解析 |
---|---|
对称加密 | 双方采用相同的秘钥,安全性较低 |
非对称加密 | 双方采用不同的秘钥,安全性较高 |
公钥 | 大家都可以知道的秘钥。 |
私钥 | 只有自己知道的秘钥。能够证明自己的身份信息 |
注意:公钥和私钥不能相互推导!!!
公钥与私钥之间能够相互解密!!!
数据加密:
使用对端的公钥加密,接收端收到数据后,使用自己的私钥解密。作用是保证数据完整性。
数字签名:
私用自己的私钥加密,接收端收到数据后,使用发送端的公钥解密。作用是保证发送者的身份唯一性。
ssh客户端生成密钥对
ssh-keygen | 默认是交互式 |
---|---|
-t | 指定秘钥算法 |
-N | 指定秘钥短语 |
-f | 指定秘钥存储路径 |
id_rsa: 私钥;id_rsa.pub: 公钥
拷贝公钥命令
ssh-copy-id
五、实操脚本
客户端使用user1用户,并且以服务端的用户user2的身份登录,使用公钥对验证登录。
执行结果