使用sshkey-gen命令判断
使用ssh-keygen -y命令可以从私钥文件中提取公钥。例如: 你的私钥文件是id_rsa,执行如下命令:
1 | ssh-keygen -y -f id_rsa > extracted_pubkey.pub |
将提取的公钥保存到extracted_pubkey.pub文件。再和你的公钥文件比较,看文件内容是否相同
1 | diff extracted_pubkey.pub id_rsa.pub |
使用ssh-keygen -y命令可以从私钥文件中提取公钥。例如: 你的私钥文件是id_rsa,执行如下命令:
1 | ssh-keygen -y -f id_rsa > extracted_pubkey.pub |
将提取的公钥保存到extracted_pubkey.pub文件。再和你的公钥文件比较,看文件内容是否相同
1 | diff extracted_pubkey.pub id_rsa.pub |
整理如下内容:
在k8s中, ConfigMap是一种API对象, 用于将非机密的配置数据存储到键值对中。
Configmap作用是, 把配置数据从应用代码中分隔开, 让镜像和配置文件解耦,实现了镜像的可移植性。
举例:
我有一个Squid(正向代理)的Pod, 需要获取用户配置的白名单做访问控制。 每个用户设置的白名单都不一样, 而且用户可以随时对白名单做增、删、改,所以这个白名单的配置不能写死在代码里。
可以把白名单配置存储到k8s的ConfigMap, 这样配置数据和镜像就实现了解耦,Pod中可以动态地获取白名单的配置。
使用ConfigMap时, Pod可以将其用作环境变量、命令行参数或存储卷中的配置文件。
下面给出一个具体的案例,将ConfigMap用作存储卷中的配置文件,Pod中通过读取配置文件的内容,就获取到了配置信息。
k8s中的Pod由容器组成,容器运行的时候可能因为意外情况挂掉。为了保证服务的稳定性,在容器出现问题后能进行重启,k8s提供了3种探针
为了探测容器状态,k8s提供了两个探针: LivenessProbe和ReadinessProbe
对于启动非常慢的应用, LivenessProbe和ReadinessProbe可能会一直检测失败,这会导致容器不停地重启。 所以k8s设计了第三种探针StartupProbe解决这个问题
在RHEL服务器上, 用openssl命令生成一个自签名证书
1 | openssl genrsa -out server.key 2048 #生成一个2048位的RSA私钥,保存到server.key |
注: CN=www.petertest.com
需要换成你的服务器域名, 否则curl测试会报错
Squid ACL(Access Control List,访问控制列表)提供了代理控制的功能。
通过设置ACL,Squid可以针对源地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤,从而实现对网络流量的精细控制。
基本的ACL元素语法:
1 | acl name type value1 value2 ... |
可以对一个ACL元素列举多个值,也可以多个ACL行使用同一个名字。例如,以下两种配置方式是等价的
1 | acl safe_ports port 80 443 8080 |
等价于
1 | acl safe_ports port 80 |
客户在windows CMD中SSH连接失败,报错:
1 | Corrupted MAC on input |
值得注意的是,客户通过别的机器做SSH连接可以成功,使用putty, mobaxterm连接也可以成功
通过别的机器能做SSH连接,说明SSH服务端本身没有问题,网络连接也正常。
这个原因一般是SSH客户端和服务器的配置不匹配,使用了不同的MAC(消息认证码)或cipher(加密算法),导致协商失败。
分别查看SSH客户端和服务端支持的MAC和cipher列表,先确认配置是否匹配。
解决方法:
把虚拟机关机,编辑虚拟机的CPU设置,将CPU虚拟化设置改为硬件模式,再重启虚拟机后,问题解决。
参考:https://blog.csdn.net/hzgnet2021/article/details/134925349
HTTP basic认证是一种简单的认证机制,要求用户在请求资源前提供有效的用户名和密码。
要求: 只允许用户名为peter,密码为123的请求通过认证, 其他请求返回407(Proxy认证失败)
1 使用htpasswd
工具,生成用户名密码。 例如这里添加用户名peter, 密码123.
1 | yum install httpd-tools |
检查密码文件/etc/squid/squid_user
,可以找到刚才添加的用户peter
1 | cat /etc/squid/squid_user |