SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telnet(远程登录)、RSH(Remote Shell,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。
OpenSSH 服务端: 由 openssh 和 openssh-server 等软件包提供;在 CentOS7 系统中默认已经安装。
Port 监听端口(默认22)
ListenAddress 监听地址
Protocol ssh协议版本
UseDNS no 禁用DNS反向解析
LoginGraceTime 2m #登陆验证时间:默认2分钟
PermitRootLogin yes #默认是"yes",表示允许root用户登陆
PermitEmptyPasswords no #默认禁止空密码账户登陆
MaxAuthTries 6 #最大的重试次数
MaxSessions 10 #最多允许10个终端登陆
DenyUsers 用户名 #拒绝这个用户在任何机器上使用ssh远程登录;如果拒绝多个用户中间用空格隔开
DenyUsers 用户名@IP地址 #拒绝这个用户在对应的IP地址的机器上进行远程ssh登录
AllowUsers 用户名 #仅允许某个用户通过ssh远程登录
AllowUsers 用户名@IP地址 #仅允许某个用户通过对应地址的主机进行ssh远程登录
PasswordAuthentication yes #密码验证方式开启
PubkeyAuthentication yes #密钥对验证开启
AuthorizedKeysFile .ssh/authorized_keys #指定公钥库位置
OpenSSH客户端: 由openssh-clients软件包提供 (默认已将安装);包括ssh远程登录命令;以及scp远程复制和sftp文件传输命令
ssh 用户名@主机地址 -p 端口号
(端口号默认是22,可以不跟-p选项;如果修改了服务器的ssh端口,必须要指定ssh的端口号
语法结构:
scp root@对方的地址:对方文件位置 本地位置 (回车后,按提示输入对方root 账户的密码)
创建一个目录,通过远程复制到ssh服务上
[root@localhost ~]# scp -r ajbn/ root@192.168.1.10:/root/
当对目录操作时需要加-r
在ssh服务器上查看,并创建一个文件
在客户端上通过远程复制将ssh服务器中的文件复制过来
[root@localhost ~]# scp root@192.168.1.10:/root/ajbm /root/
通过 sftp 命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与 FTP 类似的登录过程和交互式环境,便于目录资源管理。
登录: sftp 用户名@对方地址 (按回车输入密码)
下载: get 文件名
上传: put -r 目录名
退出登录:exit
在客户端创建一个目录
在ssh服务器创建一个文件
在客户端通过sftp进行登录验证
[root@localhost ~]# useradd zhangsan #创建zhangsan
[root@localhost ~]# passwd zhangsan #给zhangsna设置密码
[root@localhost ~]# su - zhangsan #切换到zhangsan账户
[zhangsan@localhost ~]$ ssh-keygen -t ecdsa #用ecdsa 的加密方式创建密钥对文件
(连续敲3次Enter 键生成密钥对文件)
密钥对文件的默认位置:/home/zhangsan/.ssh/
id_ecdsa(私钥文件) id_ecdsa(公钥文件)
[zhangsan@localhost .ssh]$ scp id_ecdsa.pub root@192.168.1.10:/tmp/
(把公钥文件传给192.168.100.101 的/tmp 目录中)
在 SSH 服务器上创建 zhangsan 用户,并设置密码;创建一个公钥数据库的存放目录:
[root@aaa ~]# useradd zhangsan
[root@aaa ~]# passwd zhangsan
[root@aaa ~]# mkdir /home/zhangsan/.ssh
把发送过来的公钥文件的内容追加到目标用户的公钥数据库中:
[root@aaa ~]# cat /tmp/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys
[zhangsan@localhost .ssh]$ ssh zhangsan@192.168.1.10
(可直接登录,不需要密码)
定义: 一种防护机制,作为应用服务与网络之间的一道特殊防线,提供额外的安全保障
工作原理: 将TCP服务程序"包裹"起来,监听TCP服务程序端口,增加一个安全监测过程,外来的链接请求必须通过这层安全检测,获得许可后,才可以真正访问服务程序
保护机制的两种实现方式:
TCP Wrappers 对应的两个策略文件:
策略的配置格式: 服务程序列表:客户端地址列表
访问控制的基本原则:
1)、服务程序列表:
2)、客户端地址列表
例如:只允许192.168.1.110主机进行连接,而拒绝所有主机连接
在ssh服务器上配置
[root@aaa ~]# vim /etc/hosts.allow
[root@aaa ~]# vim /etc/hosts.deny
[root@aaa ~]# systemctl restart sshd