标签 linux 下的文章

升级openssh之后,ssh时常连不上,但等待一会又会正常。最后确认是ssh在不断重启。
解决方法如下:

cd /usr/lib/systemd/system/
mkdir bakssh
mv ssh* ./bakssh
service sshd restart

打开新的ssh窗口运行

systemctl daemon-reload
service sshd restart

问题解决。

PS:Ubuntu使用systemtcl restart sshd重启
PS2: centos使用service sshd status验证ssh状态,Ubuntu用 systemtcl status sshd。有问题时可以看到sshd的运行时间不长,基本上几分钟就重启了。

tar zxf

sudo su
cd nginx-1.20.2/
chmod 777 *
./configure --prefix=/usr/local/nginx-1.20.2  --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-cc-opt=-O3 --with-stream --with-http_ssl_module

make && make install

cd /usr/local/nginx-1.19.4/sbin/
mv nginx nginx-1.19.4
cp /usr/local/nginx-1.20.2/sbin/nginx ./


ps hux |grep nginx 


kill -USR2 2699
kill -WINCH 2699

k8s有个天坑,默认的证书有效期只有一年,之后会挂掉导致生产事故。这里是更新证书的代码

mkdir /data/kubeconfback/
mv /etc/kubernetes/*.conf /data/kubeconfback/
kubeadm alpha  certs renew all
kubeadm init phase kubeconfig all
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
systemctl restart kubelet

除此之外的还可以在创建设置100年,或者设置自动续期进行解决。

一、源码包下载地址
openssl下载地址:

https://www.openssl.org/source/

撰写本文时最新版本为1.1.1k

openssh下载地址:

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

撰写本文时最新版本为8.6p1

二、更新openssl,此处安装包存放位置为/home/user01/

cd /home/user01/
tar -zvxf openssl-1.1.1k.tar.gz
cd /home/user01/openssl-1.1.1k
./config --shared
make && make install

使用./config时加上--shard,目的是创建动态链接库

将原有openssl替换为新的:

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig

使用以下命令验证openssl版本

openssl version -a

如果未安装zlib:
前往http://www.zlib.net/下载安装包,并传送至任意目录。运行以下命令。

tar zxf zlib***.tar.gz
cd zlib-***/
./configure --shared
make test
make install
cp zutil.h /usr/local/include/
cp zutil.c /usr/local/include/

三、更新openssh
更新有一定风险,如果不能保证一次成功,可以提前安装telnet防止无法登陆。

cd /home/user01
tar -zxvf /home/user01/openssh-8.6p1.tar.gz
cd /home/user01/openssh-8.6p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd 
make && make install

使用以下命令验证

SSH -V

启动openssh并将其设置为开机启动。

systemctl start sshd
systemctl enable sshd

四、其他
1、openssh配置位置

/etc/ssh/ssh_config
/etc/ssh/sshd_config

请检查配置中这几项,否则可能无法登陆。

PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes

2、如果sshd服务状态提示:get shadow information for root
检查selinux是否启用了策略:/etc/selinux/config 文件中的SELINUX=enforcing 修改为 SELINUX=disabled