买了一台服务器我都做了哪些事 密钥登录 禁止ssh登录 安装python的一些错误 等等

1密钥登录

2 防止别人尝试登录,定时任务

2.1 这是前言

最近打印了 ssh 的日志。发现好多人在尝试登录

打印最新的后 20 行代码

tail -n 20  /var/log/secure


在这里插入图片描述

2.2创建一个脚本

vim /usr/local/bin/secure_ssh.sh

2.3写入下面的内容

#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat  /usr/local/bin/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
   if [ $NUM -gt 5 ];then
      grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

创建一个文件夹用来将拉黑的名单写入,跟上面的内容保持一致

touch /usr/local/bin/black.txt

2.4创建定时任务

新建一个定时文件

vi crontab-job.txt

写入下面的内容

*/5 * * * *  sh /usr/local/bin/secure_ssh.sh

2.5启用定时任务

crontab crontab-job.txt

查看定时任务

crontab -l

2.6后续

上面的代码是只将Failed 出错的代码写入到禁止访问中
现在我想把所有尝试的都写入进去

编辑

vim /usr/local/bin/secure_ssh.sh

写入
第一个是错误的
第二行是无效的Invalid的
第三行是没有匹配密钥成功的

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
cat /var/log/secure|awk '/Invalid/{print $(NF-2)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
cat /var/log/secure|awk '/no matching/{print $(NF-12)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat  /usr/local/bin/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
   if [ $NUM -gt 3 ];then
      grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

这里为什么在这里插入图片描述
立即运行一下

sh /usr/local/bin/secure_ssh.sh

cat /var/log/secure|awk ‘/Invalid/{print $(NF-2)}’ 因为他的字符和 Failed 的不一样,Failed 那一行的 IP 是在倒数第四个,Invalid 是在倒数第三个

具体有什么不懂的可以问 AI

就在我写代码的这段时间,就有很多尝试连接的
在这里插入图片描述

3、安装python

我是习惯将新建一个work文件夹
然后将内容放到里面
这个看个人习惯,无所谓

mkdir /work

3.1 下载包

这里是镜像地址,可以随便选择一个版本
https://registry.npmmirror.com/binary.html?path=python/
我选择的是3.9版本的
wget https://registry.npmmirror.com/-/binary/python/3.9.7/Python-3.9.7.tgz

3.10.6下载链接

wget https://registry.npmmirror.com/-/binary/python/3.10.6/Python-3.10.6.tgz

3.10.7 下载链接

可以用

wget https://registry.npmmirror.com/-/binary/python/3.10.12/Python-3.10.12.tgz

3.11.2下载链接

会出错,pip3 settools包装不上
wget https://registry.npmmirror.com/-/binary/python/3.11.2/Python-3.11.2.tgz

3.12.0下载链接

wget https://registry.npmmirror.com/-/binary/python/3.12.0/Python-3.12.0.tgz

3.2解压 安装

tar -zxvf Python-3.9.7.tgz
cd Python-3.9.7
编译
./configure prefix=/usr/local/python3

可能会出现的错误 1

error1:可能会出现的错误:

configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details
需要:
在这里插入图片描述

yum install gcc
即可,随后重新运行命令

编译

make && make install
如果出现 returned non-zero exit status 1.
make: *** [install] Error 1
可能是依赖不够,
下面的是解决办法
sudo yum install openssl-devel bzip2-devel libffi-devel

3.3链接

删除原有的链接

rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

建立新的连接

ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3

3.4 如果缺少环境变量

添加环境变量

vim /etc/profile

在后面写入

export PATH=$PATH:/usr/local/python3/bin

保存
重启即可

source /etc/profile

3.5 pip 镜像安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

4解决Can‘t connect to HTTPS URL because the SSL module is not available.

Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”

一种方法是:

在安装包的时候加上下面的话

-i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

另一种方法是

4.1 安装openssl 下载最新的OpenSSL

cd /usr/local
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz --no-check-certificate

4.2解压

tar -zxvf openssl-3.0.2.tar.gz

4.3切换目录

cd openssl-3.0.2/

4.4配置

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto

4.4.1报错了

在这里插入图片描述

Can‘t locate IPC/Cmd.pm in
原因是因为缺少 IPC/Cmd.pm 模块,需要安装这个模块,安装方法在一个大佬文章 Linux 安装 openssl 出现 Can‘t locate IPC/Cmd.pm in,error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1_无奈的码农的博客 - CSDN 博客里找到的。

4.4.2解决办法

yum install -y perl-CPAN
perl -MCPAN -e shell

在这里插入图片描述

install IPC/Cmd.pm

在这里插入图片描述
等待安装完成
在这里插入图片描述
出现cpan[2] 就表明上一个任务完成了,我们这里也完成了

ctrl+D 退出 cpan

4.4.3重新配置

./Configure --prefix=/usr/local/openssl

完成了
在这里插入图片描述

4.5重新配置安装

make && make install

在这里插入图片描述
安装成功后
进入openssl文件夹

cd /usr/local/openssl

查看目录下的文件

ls

如果有lib文件,则忽略,如果没有 lib文件夹
则需要手动复制一个

cp -rf /usr/local/openssl/lib64 /usr/local/openssl/lib
进入python的安装包位置处

我的是 /work 处

我这里使用了一个通配符,因为我 work 下面只有一个 P 开头的文件夹

cd /work/P*

不管用什么喜欢,进入到python解压的位置即可
然后进入安装包内
编辑文件

vi Modules/Setup

取消注释上面的内容,ssl的地址跟前面保持一致
在这里插入图片描述
重新安装python

./configure --enable-optimizations
make altinstall

5重新安装python3

可参考下面的
或者 返回前面,重新做一遍

删除原来的文件

rm -rf /usr/local/python3

镜像源

https://registry.npmmirror.com/binary.html?path=python/

同上,这里不再赘述

wget https://registry.npmmirror.com/-/binary/python/3.9.7/Python-3.9.7.tgz
tar -zxvf Python-3.9.7.tgz
cd Python-3.9.7
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
make -j
make install

如果报错,还是 make state【1】的错误

如果出现 returned non-zero exit status 1.
make: *** [install] Error 1
可能是依赖不够,
下面的是解决办法
sudo yum install openssl-devel bzip2-devel libffi-devel

重新

make && make install 

删除原有链接

rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

新建链接

ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3

6如果还是不行,装Anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux-x86_64.sh
sh Anaconda*.sh

#修改配置文件

vim /root/anaconda3/bin:$PATH

添加到末尾

export PATH=/root/anaconda3/bin:$PATH

如果前面有类似下面的句子,则需要注释掉
#export PATH=/usr/local/nasdsadwe

#保存
输入重启命令

source ~/.bashrc

就可以了

7 安装宝塔面板

国外宝塔安装面板,国外的不需要输手机号

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel

宝塔卸载

wget http://download.bt.cn/install/bt-uninstall.sh
sh bt-uninstall.sh

国内宝塔安装

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

8安装werobot

开启端口号

查看防火墙状态

firewall-cmd --state

开启端口号

firewall-cmd --zone=public --add-port=8888/tcp
firewall-cmd --zone=public --add-port=8000/tcp --permanent && firewall-cmd --reload

查看所有已经开放的端口

 firewall-cmd  --list-ports

关闭端口

 firewall-cmd --remove-port=88/tcp --permanent

重启防火墙

systemctl restart firewalld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值