Posted in: Linux, Something

CentOS的免密登录

实现CentOS的免密登录还是挺简单的。

  1. 密钥的产生
ssh-keygen -t rsa

在用户家目录下的.ssh目录下产生id_rsa和id_rsa.pub两个密钥文件。其中,.pub为公钥。

  1. 公钥的上传
ssh-copy-id -i ~/.ssh/id_rsa.pub root@target_IP

使用ssh-copy-id来实现自动的上传、修改配置。

  1. 增加主机配置文件
vim ~/.ssh/config
————————————————————
Host target0    //主机名称
Hostname 192.168.174.148    //主机IP或解析记录
Port 22 //SSH端口号
User root   //SSH用户名

Host target1
Hostname 192.168.174.149
Port 22
User root
————————————————————
  1. 测试
[root@ansible_server ~]# ssh target0
Last login: Fri Dec 20 14:59:11 2019 from 192.168.174.147
[root@ansible_target0 ~]#
  1. 批量执行
    在面临批量主机执行免密登录,则需要sshpass来执行。
vim sshpassvlmachine.sh
~~~~~~~
#!/bin/bash

for host in $(cat remote-hosts)
do
    sshpass -p 'password' ssh-copy-id root@${host}
done
~~~~~~~

vim remote-hosts
~~~~~~~
192.168.174.148
192.168.174.149
~~~~~~~
chmod +x sshpassvlmachine.sh
sh sshpassvlmachine.sh
Posted in: Something, System

内网搭建KMS服务器

在局域网环境中,我们可以使用开源的KMS服务来实现Windows系统和Office软件的激活工作。下面我们将在CentOS8之上来部署实施相关服务。

环境部署

yum install -y epel-release git
yum update -y
yum install -y supervisord

systemctl enable supervisord --now
firewall-cmd --permanent --add-port=1688/tcp
firewall-cmd --reload

拉取代码

cd /opt
git clone https://github.com/SystemRage/py-kms.git

cat> /etc/supervisord.d/kms.ini <<EOF
[program:kms]
# command=python /opt/py-kms/py-kms/pykms_Server.py       //注意python的版本
command=python3 /opt/py-kms/py-kms/pykms_Server.py
autostart=true
autorestart=true
user=root
stdout_logfile=/var/log/kms.log
EOF

systemctl restart supervisord
netstat -tlnp |grep 1688

发布服务

Windows DNS

在Windows Server的DNS管理器中连接DNS服务器,打开‘正向查找区域’-‘域名所在zone’-‘_tcp’,新建“服务位置(SRV)”DNS记录值。
DNS-kms

Linux BIND

在BIND服务的正向解析配置文件中新增记录并重启bind服务。

_vlmcs._tcp IN SRV 5 0 1688 xxx.xxx.xxx.xxx

Linux DNSMASQ

cat > /etc/dnsmasq.d/kms.conf <<EOF
srv-host=_vlmcs._tcp,xxx.xxx.xxx,1688,100,100
EOF

systemctl restart dnsmasq
Posted in: Something, System

使用Xshell免费版远程调用图形界面

使用Xshell套装可以通过Xshell调用Xmanager来实现Linux图形界面的ssh转发,从而实现Linux的GUI界面的远程调用。但对于使用edu账号申请下来的免费版Xshell就没有这个功能了。那么,我们就需要使用xshell+xming来实现类似功能。

SSHD配置

# 要打开SSH服务的X11转发功能
sed -i "s/#X11Forwarding yes/X11Forwarding yes/g"
sed -i "s/#X11DisplayOffset 10/X11DisplayOffset 10/g"
sed -i "s/#X11UseLocalhost yes/X11UseLocalhost yes/g"

安装Xming

我们下载好[1]之后,执行安装。需要配置的只有两项:

  1. 取消安装自带的putty

Xming_install

  1. 指定接受的端口10

Xming_port

配置Xshell

在xshell中配置客户端,在"SSH"-"隧道"中选择"转发x11连接到:'XDisplay:localhost:10.0'"
xming_xshell

测试

在本地xshell客户端上调用远程GUI程序,比如gparted.

xming_gui