报错代码
[: ......: unary operator expected
解决方法
# vim <Shell Script>
将以下内容修改为:
......
if [[ ...... ]];
......
修改为:
......
if [[ ...... ]];
......
[: ......: unary operator expected
# vim <Shell Script>
将以下内容修改为:
......
if [[ ...... ]];
......
修改为:
......
if [[ ...... ]];
......
RHEL 8 的 SSH 加密算法默认会使用来自 crypto policies 系统的全局 SSH 加密算法,而此方法将让 SSH 使用单独设置的 SSH 加密算法。
# cp /etc/sysconfig/sshd /etc/sysconfig/sshd_backup
# vim /etc/sysconfig/sshd
将以下内容:
# CRYPTO_POLICY=
修改为:
......
CRYPTO_POLICY=
......
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
# vim /etc/ssh/sshd_config
添加以下内容:
......
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256
KexAlgorithms ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
(
补充:这里以使用:
1) aes256-ctr、aes192-ctr 和 aes128-ctr SSH 加密方式 (cipher)
2) hmac-sha2-512 和 hmac-sha2-256 SSH 信息验证代码 (message authentication code)
3) ecdh-sha2-nistp521、ecdh-sha2-nistp384、ecdh-sha2-nistp256 和 diffie-hellman-group-exchange-sha256 SSH 算法 (algorithm)
为例
)
# systemctl restart sshd
# ssh -vv -oCiphers=3des-cbc -oPort=22 192.168.0.1
(补充:这里以测试 IP 地址是 192.168.0.1,端口号是 22,有没有启用 3des-cbc SSH 加密方式 (cipher) 为例)
# ssh -vv -oCiphers=3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc -oPort=22 192.168.0.1
(补充:这里以测试 IP 地址是 192.168.0.1,端口号是 22,有没有启用 3des-cbc、aes128-cbc、aes192-cbc 和 aes256-cbc SSH 加密方式 (cipher) 为例)
# ssh -vv -oMACs=hmac-md5 -oPort=22 192.168.0.1
(补充:这里以测试 IP 地址是 192.168.0.1,端口号是 22,有没有启用 hmac-md5 SSH 信息验证代码 (message authentication code) 为例)
# ssh -vv -oMACs=hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-md5-etm@openssh.com,hmac-md5-96-etm@openssh.com -oPort=22 192.168.0.1
(补充:这里以测试 IP 地址是 192.168.0.1,端口号是 22,有没有启用 hmac-md5、hmac-md5-96、hmac-sha1、hmac-sha1-96、hmac-md5-etm@openssh.com 和 hmac-md5-96-etm@openssh.com SSH 信息验证代码 (message authentication code) 为例)
# sshd -T | egrep -i "ciphers|macs"
# nmap --script ssh2-enum-algos -sV -p 22 127.0.0.1
(补充:这里以测试 IP 地址是 192.168.0.1,端口号是 22 为例)
https://access.redhat.com/solutions/4410591
https://access.redhat.com/solutions/4278651
在给 nftables 防火墙的策略文件添加规则前,要先使用 nftables 防火墙的策略文件:
ip saddr 192.168.0.1 tcp dport ssh accept
或者:
ip saddr 192.168.0.1 tcp dport 22 accept
(补充:这里以允许 IP 地址 192.168.0.1 访问 22 端口为例)
ip saddr 192.168.0.1 tcp dport {22,80,443,3306,100,101,102,103} accept
或者:
ip saddr 192.168.0.1 tcp dport {22,80,443,3306,100-103} accept
(补充:这里以允许 IP 地址 192.168.0.1 访问 22 端口、80 端口、443 端口、3066 端口和 100 端口到 103 端口为例)
ip saddr {192.168.0.1,192.168.0.2,192.168.0.3} tcp dport {22,80,443,3306} accept comment "accept local port"
或者:
ip saddr {192.168.0.1-192.168.0.3} tcp dport {22,80,443,3306} accept comment "accept local port"
(补充:这里以允许 IP 地址 192.168.0.1、192.168.0.2 和 192.168.0.3 访问 22 端口、80 端口、443 端口和 3066 端口并添加注释 “accept local port” 为例)
tcp dport {22,80,443,3306} drop comment "drop remote port"
(补充:这里以拒绝所有 IP 地址的 22 端口、80 端口、443 端口和 3306 端口并添加注释 “drop remote port” 为例)
tcp dport {0-65535} drop
udp dport {0-65535} drop
ip saddr 192.168.0.1 ip protocol icmp icmp type echo-request accept
(补充:这里以允许 192.168.0.1 可以通过 ICMP 协议 ping 通为例)
ct state { established, related } accept
......: No such file or directory
# zypper in insserv-compat
# cat /etc/resolv.conf
search eternalcenter.com local new
nameserver 8.8.8.8
# host -a zhumingyu
Trying "zhumingyu.eternalcenter.com"
Trying "zhumingyu.local"
Trying "zhumingyu.new"
Trying "zhumingyu"
Host zhumingyu not found: 3(NXDOMAIN)
Received 102 bytes from 8.8.8.8#53 in 62 ms
(补充:当查询 zhumingyu 时,也就是中间没有点 “.”,则默认会被视为查询主机名,会先依次把 eternalcenter.com、local 和 new 作为后缀添加到 zhumingyu 后进行查询,最后才查询 zhumingyu)
# host -a zhumingyu.com
Trying "zhumingyu.com"
Received 31 bytes from 1.1.1.1#53 in 217 ms
Trying "zhumingyu.com.eternalcenter.com"
Trying "zhumingyu.com.local"
Trying "zhumingyu.com.new"
Host zhumingyu.com.new not found: 4(NOTIMP)
Received 35 bytes from 1.1.1.1#53 in 218 ms
(补充:当查询 zhumingyu.com 时,也就是中间有 1 个点 “.”,则默认会被视为查询域名,会先查询 mingyuzhu.com,如果查询失败,则会先依次把 eternalcenter.com、local 和 new 作为后缀添加到 zhumingyu 后进行查询)
# host -a zhumingyu.com.
Trying "zhumingyu.com"
Host zhumingyu.com not found: 4(NOTIMP)
Received 31 bytes from 1.1.1.1#53 in 204 ms
Received 31 bytes from 1.1.1.1#53 in 204 ms
(补充:当查询 zhumingyu.com. 时,也就是末尾有 1 个点 “.”,默认会被视为查询域名,且只会查询这个域名。不会查询 search 里的每 1 项)