SSH(Secure Shell) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能,与早期的 Telent(远程登录)、RSH(Remote Shell, 远程执行命令)、RCP(Remote File Copy), 远程文件复制)等应用相比, SSH 协议提供了更好的安全性
1.配置Open SSH服务端
① 服务监听选项
② 用户登录控制
③ 登录验证方式
(1)密码验证:对服务器中本地系统用户的登录名称、密码进行验证
(2)密钥对验证:要求提供相匹配的密钥信息才能通过验证,先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置
2.使用SSH客户端程序
① 命令程序ssh、scp、sftp
在 CentOS 7.3 系统中, OpenSSH 客户端由 openssh-clients 软件包提供(默认已安 装),其中包括ssh 远程登录命令,以及 scp、sftp 远程复制和文件传输命令
(1)ssh 远程登录
通过ssh 命令可以远程登录 sshd 服务,为用户提供一个安全的 Shell环境,以便对服务器进行管理和维护
(2)scp 远程复制
通 过scp 命令可以利用 SSH 安全连接与远程主机相互复制文件。使用 scp 命令时,除 了必须指定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入验 证口令
(3) sftp 安全 FTP
通过sftp 命令可以利用 SSH 安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互式环境,便于目录资源管理
② 图形工具Xshell
图形工具 Xshell 是Windows下一款功能非常强大的安全终端模拟软件,支持 Telnet、SSH 、SFTP 等协议,可以方便地对Linux 主机进行远程管理
3.构建密钥对验证的SSH体系
① 在客户端创建密钥对
在 CentOS 7.3客户端中,通过ssh-keygen 工具为当前用户创建密钥对文件。可用的 加密算法为 RSA、ECDSA 或 DSA 等 (ssh-keygen 命令的“-t”选项用于指定算法类型)
② 将公钥文件上传至服务器
将上一步生成的公钥文件上传至服务器,并部署到服务器端用户的公钥数据库中。上传
公钥文件时可以选择 SCP、FTP、Samba、HTTP 甚至发送 E-mail 等任何方式
③ 在服务器中导入公钥文本
在服务器中,目标用户(指用来远程登录的账号lisi) 的公钥数据库位于~1.ssh 目录, 默认的文件名是“authorized_keys”,如果目录不存在,则需要手动创建
④ 在客户端使用密钥对验证
当私钥文件(客户端)、公钥文件(服务器)均部署到位以后,就可以在客户端中进行测试,首先确认客户端中当前的客户为zhangsan,然后通过ssh命令以客户端用户list的身份进行远程登录