分类
未分类

winserver 2019 kms激活提示非核心版本的计算机问

需要修改注册表后重启电脑两次


1.Windows + R输入 Regedit(打开”注册表编辑器”)

依次进入

HKEY_LOCAL_MACHINE

–>SOFTWARE

–>Microsoft

–>Windows NT

–>CurrentVersion

–>SoftwareProtectionPlatform

将SkipRearm的值修改为1

2.重启一次电脑

3.右击”开始”-> Windows PowerShell(管理员) -> 输入

slmgr -rearm

4.再次重启电脑后即可使用slmgr激活系统

slmgr /upk

#Standard Edition

slmgr /ipk HM3NG-HXCBR-B3BCG-X9MVG-GMWVQ

#Datacenter Edition

slmgr /ipk NPTRB-CFYFD-DGFPG-DY9GJ-CPR8F

slmgr /skms kms.03k.org

slmgr /ato

分类
未分类

MT300N V2 官方固件 安装frpc 插件 ipk包

上传ipk包 然后执行

opkg update; opkg install luci-lib-ipkg; opkg install *.ipk

ipk包:

内容回复可见.

分类
未分类

proxmox 7.0 添加CPU Nvme HDD温度监控

需要安装sensors和hddtemp并修改两个文件:

apt-update && apt-get install lm-sensors hddtemp -y

修改文件前请备份,改完重启服务后需要清理缓存,如果白屏或者菊花,请仔细检查配置文件。

1.第一个文件: 修改一处

 vi /usr/share/perl5/PVE/API2/Nodes.pm 

在364行附近 可以直接搜索my $dinfo = df(‘/’, 1);

在其后添加:

$res->{CPUtemperature} = sensors;
$res->{Nvmetemperature} = sensors;
$res->{HDDtemperature} = hddtemp /dev/sda;

2.第二个文件:修改二处

vi /usr/share/pve-manager/js/pvemanagerlib.js

在34827行左右 可以直接搜索 textField: ‘pveversion’,

在其后添加:

  {
            itemId: 'version',
            colspan: 2,
            printBar: false,
            title: gettext('PVE Manager Version'),
            textField: 'pveversion',
            value: '',
        },
#add=======================================================
        {
            itemId: 'CPUtemperature',
            colspan: 2,
            printBar: false,
            title: gettext('CPU Temperature'),
            textField: 'CPUtemperature',
            renderer: function(value){
                const c0 = value.match(/Core 0.*?\+([\d\.]+)?/)[1];
                const c1 = value.match(/Core 1.*?\+([\d\.]+)?/)[1];
                const c2 = value.match(/Core 2.*?\+([\d\.]+)?/)[1];
                const c3 = value.match(/Core 3.*?\+([\d\.]+)?/)[1];

                return `Core0: ${c0}℃ | Core1: ${c1}℃ | Core2: ${c2}℃ | Core3: ${c3}℃ `
                                        }
        },
        {
            itemId: 'Nvmetemperature',
            colspan: 2,
            printBar: false,
            title: gettext('Nvme Temperature'),
            textField: 'Nvmetemperature',
            renderer: function(value){
                const nvme = value.match(/Composite.*?\+([\d\.]+)?/)[1];

                return `Nvme: ${nvme}℃ `
                                        }
        },
        {
            itemId: 'HDDtemperature',
            colspan: 2,
            printBar: false,
            title: gettext('HDD Temperature'),
            textField: 'HDDtemperature',
            renderer: function(value) {
                value = value.replace(/Â/g, '');
                return value.replace(/\n/g, '<br>')
            }
        },
#end=======================================================
        {
            itemId: 'repositoryStatus',
            colspan: 2,
            printBar: false,
            title: gettext('Repository Status'),
            setValue: function(value) { // for binding below
                this.updateValue(value);
            },
            bind: {
                value: '{repoStatusMessage}',
            },
        },

在34719行附近 可以直接搜索return fmt(gettext(‘No Proxmox VE repository enabled!’)

修改height : 400 (*需按情况修改,每多一行数据增加25)

                    return fmt(gettext('No Proxmox VE repository enabled!'), 'exclamation-circle critical');
                }

                return Proxmox.Utils.unknownText;
            },
        },
    },
#edit=================================
    height: 400,
#edit=================================
    bodyPadding: '15 5 15 5',

    layout: {
        type: 'table',
        columns: 2,
        tableAttrs: {
            style: {
                width: '100%',

3.重启服务

systemctl restart pveproxy

4.清理浏览器缓存后可以看到效果

height:375效果:

height:400效果:

分类
未分类

sftp客户端登陆使用chroot的服务器 时间不正确

sftp开启了chroot安全登录后,无法访问不了系统的时区文件,需要在用户chroot的目录下,创建一层etc目录,并将时区文件复制进etc目录。

mkdir /xxx/etc
cp /usr/share/zoneinfo/Asia/Shanghai xxx/etc/localtime
分类
未分类

proxmox + 黑群晖6.2.3+半白+网卡 sata硬盘直通 安装记录

硬件:双网口主板 + m.2(用于安装proxmox和黑群引导) + sata盘(群晖系统和数据盘)

这样可以保证数据的安全,m.2如果故障,更换m.2重装proxmox环境加黑群引导,sata盘上的群晖可以直接拉起(sata可通过群晖raid来保护)。如果三者全部安装在同一块盘上,请前置整列卡或主板raid1,否则请勿存放重要数据,安全毫无保障,除非只是想装来玩玩。

开始安装:

1.先下载debian10镜像

我用的是网络安装包 软碟通写入u盘

2.uefi启动u盘,在m.2上最小化安装debian10,sata盘先不用接以免选错盘,进入系统后参考官方文档在debian10上安装proxmox 6.2 没什么问题 不再赘述

以前一直使用debian9+proxmox5.4,5.4现在已经停止支持了,这次装了6.2感觉良好,界面和5.4保持一致,用6.2没有任何不适应,以后的新机器应该都会直接上D10+PVE6.x了。

安装后确定没报错,访问https://ip:8006,可以出来页面说明安装成功,重启一次机器(重启加载proxmox内核否则无法创建虚拟机)。然后访问登陆 proxmox管理地址。

3.开始安装

准备好引导和群晖系统

我选择918引导+6.2.3系统 918引导需要cpu为Haswell(4代intel)及以上,最大支持8核心(线程)

需要其他版本的,引导和镜像的官方链接在下方:

引导:https://xpenology.com/forum/topic/13333-tutorialreference-6x-loaders-and-platforms/

黑群6.2.3镜像:https://archive.synology.com/download/DSM/release/6.2.3/25426/

准备好引导和系统后,将引导上传proxmox (如果是压缩包先解压,需要的文件是synoboot.img) 可参考下图

上传后点右上角新建虚拟机 可参考下图组

系统和硬盘默认 CPU和内存按需求填写 网络如果你有双亡口 则选择无网络设备 稍后添加直通网口给群晖 如果是单网口 则需要配置虚拟网卡和网桥 需要修改/etc/network/interfaces 信息

确认后等虚拟机创建完成后不要打开它,先为他添加直通网卡和sata设备(直通sata后所有的sata设备都会给直通群晖,所以proxmox需要安装在m.2) 可参考下图

分类
未分类

shell判断python和openssl版实现自动根据环境部署应用

#!/bin/sh
check()
{
#e.g. python version 2.7(P1.P2)
#e.g. openssl version 1.0.2(O1.O2.O3)
    P1=2
    P2=7
    O1=1

    UP1=`python -V 2&gt;&amp;1|awk '{print $2}'|awk -F '.' '{print $1}'`
    UP2=`python -V 2&gt;&amp;1|awk '{print $2}'|awk -F '.' '{print $2}'`
    UO1=`openssl version|awk '{print $2}'|awk -F '.' '{print $1}'`

   echo $UP1.$UP2
   echo $UO1


    if [ $UP1 -gt $P1 ]&amp;&amp;[ $UO -eq $O ];then
        echo 'Your python version is 3+!, Openssl version is 1+'
    elif [ $UP1 -eq $P1 ]&amp;&amp;[ $UO -eq $O ];then
        if [ $UP2 -ge $P2 ]&amp;&amp;[ $UO -eq $O ];then
            echo 'Your python version is 2.7+!, Openssl version is 1+'
        elif [ $UP2 -lt $P2 ]&amp;&amp;[ $UO -eq $O ];then
            echo 'Your python version is 2.7-!, Openssl version is 1+'
        elif [ $UP2 -lt $P2 ]&amp;&amp;[ $UO -lt $O ];then
            echo 'Your python version is 2.7-!, Openssl version is 1-'
        fi
    else
           echo 'no python , Openssl version is 1-'
    fi
}
check
分类
未分类

使用nmap 每秒监控端口开启情况

端口监控脚本:touch 1.sh

#!/bin/bash
ADDR=10.1.25.2
TMPSTR=`ping ${ADDR} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'`
port=443
check_ip=`nmap $TMPSTR -p $port|grep open|wc -l`
starttime=$(date +%Y-%m-%d\ %H:%M:%S)
echo $starttime
if [ $check_ip -eq 0 ];then
	echo "${starttime}	${TMPSTR}:${port}	DEAD!!!" >>error.txt
fi
echo "${starttime}	${TMPSTR}:${port}	OK" >>success.txt

如果需要每分钟检测一次 将 */1 * * * * /bin/bash 1.sh 加入crontab即可 如果需要秒级监控 则需要第二个脚本配合使用

touch 2.sh

#!/bin/bash
step=2
for (( i = 0; i &lt; 60; i=(i+step) )); do
    $(/bin/bash '第一个脚本的绝对路径')
    sleep $step
done
exit 0

然后再将*/1 * * * * /bin/bash 2.sh 加入crontab即可

监控输出效果如下

分类
未分类

debian zabbix4 使用外部smtp(gmail)发送告警邮件

安装heirloom-mailx

apt-get install heirloom-mailx

申请证书 使用gmail邮箱发件 需要在gmail账户安全设置中开启允许不安全应用

mkdir -p /root/.certs/
apt-get install libnss3-tools
echo -n | openssl s_client -connect smtp.gmail.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/mail.crt
certutil -L -d /root/.certs

在配置文件 /etc/s-nail.rc 中底部加入自己的smtp信息

set [email protected]
set smtp=smtps://smtp.gmail.com:465
set [email protected]
set smtp-auth-password=xxxx
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

保存后测试发件

echo test | s-nail -s "testtitle" [email protected]

此时gmail会提示拦截未知登录,需要允许后再去修改一次密码 ,然后更新新密码到配置文件中,再次执行测试邮件,邮件就可以正常收到。

接下来 新建一个报警通知脚本 (自带的email类型是个坑 应该是只能使用内网smtp服务器 需要用s-nail和脚本来实现外网smtp)

vi /usr/lib/zabbix/alertscripts/mailx.sh

#!/bin/bash
echo "$3" | s-nail -s "$2" $1

然后在zabbix中新建一个报警媒介,类型选择脚本,名称为/usr/lib/zabbix/alertscripts/「mailx.sh」

然后点击右上角用户图标-报警媒介 添加需要通知的邮箱和报警规则 更新即可

分类
未分类

proxmox 节点右下角灰色叉号 节点离线 解决办法

用iso安装的一台proxmox5.4 每天运行一段时间后节点离线 虚拟机运行正常 但无法监控和控制

重启pvestatd服务后约10秒 可恢复绿色状态

systemctl restart pvestatd

可加入crontab 定时重启 问题基本解决

分类
未分类

RHEL/Centos SSH服务和SFTP服务分离并限制sftp用户家目录记录

分离服务:

复制一份sshd服务

cp /usr/lib/systemd/system/sshd.service  /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd  /etc/pam.d/sftpd
cp /etc/ssh/sshd_config  /etc/ssh/sftpd_config
ln -sf  /usr/sbin/service  /usr/sbin/rcsftpd
ln -sf  /usr/sbin/sshd  /usr/sbin/sftpd
cp /etc/sysconfig/sshd  /etc/sysconfig/sftp

修改sftpd.service配置文件

vm /etc/systemd/system/sftpd.service

修改sftpd_config配置文件

vm /etc/ssh/sftpd_config

116行,将PidFile /var/run/sshd.pid改成PidFile /var/run/sftpd.pid

第132行,将
Subsystem  sftp  /usr/libexec/openssh/sftp-server
注释,并添以下5行

Subsystem sftp internal-sftp
Match User sftpuser1
         ChrootDirectory /data/sftpuser1
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp
Match User sftpuser2
         ChrootDirectory /data/sftpuser2
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

ChrootDirectory可以锁定sftp用户的登录根目录,设置ChrootDirectory会遇到两个坑
1、 设置的目录 如:/data/user1 所属用户不能设置为user1:user1否则连不上 需要设置为root:user1
2、/data/user1 权限不能设置为777 否则也连不上 设置755可以连上 但用户在他的自己根下无法写入 所以在用户根下再建一个目录 /data/user1/data 这个目录可以自由设置归属和权限