SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议,较可靠,专为远程登录会话和其他网络服务提供安全性的协议;利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

生成密钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ssh-keygen -t rsa -b 4096
vim /etc/ssh/sshd_config
````
## 免密登录
```bash
#控制机器
cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
scp ~/.ssh/id_rsa.pub app@192.168.254.100:~/jenkins_pub
#被登录的机器
mkdir -pv ~/.ssh
touch ~/.ssh/authorized_keys
cat ~/jenkins_pub >> ~/.ssh/authorized_keys
ssh-copy-id 192.168.254.100
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Jenkins

Gitlab & Jenkins & Maven
https://www.yuque.com/weiwiki/da4l8e/lwmmgw#Cyzak

SSH 访问控制,多次失败登录即封掉 IP,防止暴力破解

方法:读取 /var/log/secure,查找关键字 Failed,例如(注:文中的IP地址特意做了删减):
Sep 17 09:08:09 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2
Sep 17 09:08:20 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2
Sep 17 09:10:02 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2
Sep 17 09:10:14 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2

从这些行中提取 IP 地址,如果次数达到 10 次(脚本中判断次数字符长度是否大于 1)则将该 IP 写到 /etc/hosts.deny 中。
先把始终允许的 IP 填入 /etc/hosts.allow

sshd:13.7.3.6:allow

https://www.cnblogs.com/panblack/p/secure_ssh_auto_block.html