oot@localhost ~]# vim /etc/selinux/config 防止报错先关闭
sshd-t 查看配置文件是否有语法错误
cp -p /etc/ssh/sshd_config{..bak} 复制该文件,生成新的以bak结尾的新文件
systemctl restart sshd 重启配置文件
ssh -o Number0fPasswordPrompts=数字 root@192.168.153.200 作为客户机连接服务器尝试输入密码次数(与服务器设置允许客户机连接自己次数相比,取两者最小值)
[root@localhost ~]# ssh root@192.168.153.100 -p 1314 服务器port修改新的号码1314,客户机第一次连接命令
Allowusers root 允许root登录(配置文件添加,默认无)
Allowusers root@192.168.153.100仅允许root用户在192.168.153.100登录
[root@localhost ~]# vim /etc/ssh/ssh_config 从服务器进入客户机文件配置命令
ssh-keygen 生成密钥(默认RSA算法)
ssh-keygen -t ECD 生成密钥使用ECD算法
[root@localhost ~]# scp anacoda-ks.cfg root@192.168.153.200:/opt 服务器和客户机相互传输文件命令(把anacoda-ks.cfg这个文件传到opt下面)
[root@localhost ~]# scp root@192.168.153.200:/opt/anacoda-ks.cfg /tmp 把对方 的这个文件传输到自己tmp目录下
scp -r对于目录操作scr -rp带属性
scp -P 2222 root@192.168.153.200:/opt/anacoda-ks.cfg /tmp 端口号改变的情况下需要传输
1SSH远程管理
(1)配置OpenSSH服务端
(2)使用SSH客户端程序
(3)密钥对验证的SSH体系
2TCP Wrappers访问控制
(1)TCPWrappers概述
(2)TCP Wrappers访问策略
1.1OpenSSH服务器(ssh是应用层协议端口号22)
SSH (Secure Shell)协议●是一种安全通道协议
●对通信数据进行了加密处理,用于远程管理
OpenSSH
●服务名称: sshd
●服务端主程序:/usr/sbin/sshd
●服务端配置文件:letc/ssh/sshd_config
●客户端配置文件:/etc/ssh/ssh_config
[root@localhost ~]# rpm -qa | grep openssh
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64
[root@localhost ~]# rpm -ql openssh-server 查看openssh-server所装文件
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/lib/systemd/system/sshd-keygen.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib64/fipscheck/sshd.hmac
/usr/libexec/openssh/sftp-server
/usr/sbin/sshd
/usr/sbin/sshd-keygen
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd
1.2服务监听选项
(1)端口号、协议版本、监听IP地址
(2)禁用反向解析
[root@localhost~]# vi letclssh/sshd_config
…
Port 22
ListenAddress 172.16.16.22 有多个设置成0.0.0.0 代表any
Protocol 2
UseDNS no
1.3用户登录控制
(1)禁用root用户、空密码用户
(2)限制登录验证时间、重试次数
(3)AllowUsers(白名单)、DenyUsers(黑名单)(黑名单优先,需要自己手动在配置文件里面添加)
[root@localhost ~]# vim /etc/ssh/sshd_config 进入服务器配置文件
#Port 22 现网中一般为了安全把port号修改成三位数或四位数的乱序数字,如果远程连接软件已经连接则不会断开
37 #LoginGraceTime 2m 37 #LoginGraceTime 2m
38 #PermitRootLogin yes 38允许root登录
39 #StrictModes yes
40 #MaxAuthTries 6 40最大认证尝试次数六次
41 #MaxSessions 10 41最大允许连接数
42
43 #PubkeyAuthentication yes 43默认开启公钥认证
63 #PasswordAuthentication yes 63连接需要输入密码
64 #PermitEmptyPasswords no 64默认不允许空密码登录
115 #UseDNS yes 115是否使用dns反向解析
116 #PidFile /var/run/sshd.pid
1.4对称加密和非对称加密
对称加密
(1)概念
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用
(2) 常用算法
在对称加密算法中常用的算法有:DES、3DEs、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
(3) 特点
加密方和解密方使用同一个密钥;
加密解密的速度比较快,适合数据比较长时的使用;
密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;
(4) 优缺点
对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。
对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
非对称加密
(1) 概念
非对称加密算法需要两个密钥:公开密钥(publickey.简称公钥)和私有密钥(privatekey.简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
(2 )常用算法
RSA (RSA algorithm) :目前使用最广泛的算法
DSA (Digital Signature Algorithm) :数字签名算法,和RSA不同的是DSA
仅能用千数字答名.不能讲行数摇加密解密.其安全性和RSA相当.但其性能要L比RSA快
ECC(Elliptic curve cryptography,椭圆曲线加密算法)
ECDSA: Elliptic curve Digital Signature Algorithm,椭圆曲线签名算法,是ECC和 DSA的结合,相比于RSA算法,ECC可以使用更小的秘钥,更高的效率,提供更高的安全保障
(3)原理
首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行比较。如果两个密钥一致,SSH服务器就用公钥加密"质询"(challenge)并把它发送给SSH客户端。
(4)特点
私钥不能在网络中传输,私钥可以解密公钥
公钼可L以在网路中传输,公钥不能解密私钥
密钥操作步骤
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. 私钥所在位置
Your public key has been saved in /root/.ssh/id_rsa.pub. 公钥所在位置
The key fingerprint is:
SHA256:KjzZJi2WeOyRwOG9qBeTuLwt5qUoYdQ/1lpkHlC2mfc root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .o |
| .. + |
| o .+ . |
| + + +. . |
|..+.o = S E |
|o.+* @ = |
|ooo+^ O |
|+==+ O |
|*=o.. |
+----[SHA256]-----+
[root@localhost ~]#
[root@localhost ~]# ls -a
. .bash_profile .esd_auth .swp 公共 音乐
.. .bashrc .ICEauthority .tcshrc 模板 桌面
aa .cache initial-setup-ks.cfg test 视频
anaconda-ks.cfg .config .local test1 图片
.bash_history .cshrc .mozilla .viminfo 文档
.bash_logout .dbus .ssh .Xauthority 下载
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
id_rsa id_rsa.pub 私钥和公钥
[root@localhost .ssh]# cat id_rsa 可以查看未加密的私钥文件
[root@localhost .ssh]# ssh-copy-id root@192.168.135.200 把公钥发给服务器
查看目录命令
2.1TCP wrappers概述:
保护原理
2.2TCP Wrappers概述
保护机制的实现方式
●方式1:通过tcpd程序对其他服务程序进行包装
●方式2:由其他服务程序调用libwrap.so.*链接库
访问控制策略的配置文件
/etc/hosts.allow(比deny优先)
/etc/hosts.deny
2.3设置访问控制策略
●策略格式:服务程序列表:客户端地址列表
●服务程序列表
多个服务以逗号分隔,ALL表示所有服务
●客户端地址列表
多个地址以逗号分隔,ALL表示所有地址
允许使用通配符﹖和*
网段地址,如192.168.4.或者192.168.4.0/255.255.255.0
区域地址,如.benet.com
策略的应用顺序
(1).检查hosts.allow,找到匹配则允许访问
(2).再检查hosts.deny,找到则拒绝访问
(3).若两个文件中均无匹配策略,则默认允许访问
#[root@localhost ~]# vim /etc/hosts.deny 进入不允许客户机登录这个配置文件
# hosts.allow This file contains access rules which are used to
# allow or deny connections to network services that
# either use the tcp_wrappers library or that have been
# started through a tcp_wrappers-enabled xinetd.
#
# See 'man 5 hosts_options' and 'man 5 hosts_access'
# for information on rule syntax.
# See 'man tcpd' for information on tcp_wrappers
sshd:192.168.153.200 不允许这个客户机登录
sshd:ALL 拒绝所有
#[root@localhost ~]# vim /etc/hosts.allow 进入允许客户机登录这个配置文件
# hosts.allow This file contains access rules which are used to
# allow or deny connections to network services that
# either use the tcp_wrappers library or that have been
# started through a tcp_wrappers-enabled xinetd.
#
# See 'man 5 hosts_options' and 'man 5 hosts_access'
# for information on rule syntax.
# See 'man tcpd' for information on tcp_wrappers
sshd:192.168.153.200 允许这个客户机登录