linux 远程桌面连接和批量管理和ssh免密登录

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/liuhaoy/article/details/102719858

linux 远程桌面连接和批量管理和免密登录

一、windows 远程桌面连接

  1. 配置epel源
    第二个源就是epel源,用来安装一些扩展的包。
[root@localhost ~]#cat /etc/yum.repos.d/youyou.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enable=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enable=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
  1. 安装桌面环境
    查看包组列表,然后安装桌面环境,如果已经安装桌面环境,请忽略这一步,或者yum groups install “Server with GUI”,不过安装完成后,重启会发现多了个选项
    配置下次开机启动图形 systemctl set-default graphical.target
    在这里插入图片描述
[root@localhost ~]#yum groups list
[root@localhost ~]#yum groups install GNOME\ Desktop
[root@localhost ~]startx
[root@localhost ~]systemctl set-default graphical.target
  1. 安装rxdp
[root@localhost ~]yum install xrdp
[root@localhost ~]systemctl start xrdp
  1. 连接
    注意记得关闭防火墙,查看3389是否监听
    在这里插入图片描述

二、pssh 批量运维服务器

首先需要目标主机,对于现在的主机可以免密登录

pssh 仅支持 python 3.2版本
centos 8 是python 3.6

  1. centos 7 使用 epel源 yum 安装pssh
[root@localhost ~]#yum install pssh
  1. 下载源码安装(目前这个包仅支持到python 3.2,centos 8 的python过高,无法运行)
[root@localhost ~]wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/parallel-ssh/pssh-2.3.1.tar.gz
[root@localhost ~]#tar  xvf  pssh-2.3.1.tar.gz 
[root@localhost ~]#cd pssh-2.3.1/
[root@localhost pssh-2.3.1]#python setup.py install
  1. 使用 pssh
    -h HOST_FILE 后边跟远程主机列表(ip)
    -H HOST_STRING 后边跟远程主机名或者ip地址
    -l USER 指定远程主机的用户名-p PAR 指定pssh最大的并行线程数。
    -o 将输出的内容重定向到一个指定的文件中
    -O 指定ssh参数的具体配置
    -e 将执行错误重定向到一个指定的文件中
    -t 设定命令执行超时时间
    -x 传递ssh命令的一些参数
    -i 在远程主机上执行命令完成后显示标准输出和标准错误
    -P 在执行远程命令时,输出执行结果
    创建主机文件 里面编写远程主机的内容
    格式为:用户名+@+主机ip+:端口号,端口号默认为22,可不写。其他端口号要写明
编写host文件
[root@localhost ~]#cat host.txt 
[email protected]
[email protected]
[root@localhost ~]#

创建文件夹
[root@localhost ~]#pssh -h host.txt mkdir /root/ceshi
[1] 10:56:50 [SUCCESS] [email protected]
[2] 10:56:50 [SUCCESS] [email protected]
[root@localhost ~]#

加上-P 输出回显
[root@localhost ~]#pssh -h host.txt -P date
192.168.198.134: Thu Oct 24 10:58:25 CST 2019
[1] 10:58:25 [SUCCESS] [email protected]
192.168.198.145: Thu Oct 24 10:58:03 CST 2019
[2] 10:58:25 [SUCCESS] [email protected]

加上-o 然后文件夹名,把每个主机的输出结果保存在文件中
[root@localhost ~]#pssh -h host.txt -o a date
[root@localhost ~]#tree a
a
├── [email protected]
└── [email protected]
0 directories, 2 files
[root@localhost ~]#cat a/[email protected] 
Thu Oct 24 11:02:41 CST 2019
[root@localhost ~]#
  1. 其他命令
    使用 --help 即可查看例子
    pnuke:在远程多台主机上并行killall某一进程
    pslurp:把文件从远程多台主机上复制到本地主机上
    prsync:使用rsync协议本地文件同步到远程多台主机上。
    pssh:在远程多台主机上并行运行命令
    pscp :把文件并行复制到多台远程主机上,这个命令有可能是 pscp.pssh
  2. 如果编译安装的话,删除pssh
    路径有可能没有local 自行which 查询 python 路径也根据自己的python 进入
cd /usr/local/bin/
rm -rf pnuke prsync pscp pslurp pssh pssh-askpass
cd /usr/local/man/man1/
rm -rf pnuke.1 prsync.1 pscp.1 pslurp.1 pssh.1
rm -rf /usr/local/lib/python3.6/site-packages/pssh*

三、配置ssh 免密登录服务器

把对端主机名写在/etc/hosts 里就可以直接使用主机名登录了

  1. 命令配置ssh免密登录
[root@localhost ~]#ssh-keygen 
生成密钥对
[root@localhost ~]#ssh-copy-id [email protected]
把密钥对拷贝到对方主机
[root@localhost ~]#echo "192.168.198.134 centos8" /etc/hosts

[root@localhost ~]#ssh centos8
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Wed Oct 23 22:10:42 2019
[root@localhost ~]#hostname -I
192.168.198.134 192.168.122.1 
  1. ssh 通过写文件免密登录
    将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件中
查看本地主机的秘钥
[root@localhost .ssh]#cd /root/.ssh/
[root@localhost .ssh]#cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7WrvsiCf+uVauwqk8FFzHdw6E06pjRX75X531Pv9p+rTa18oAHr516npfzm775wXebGE/WF5MNqizcXC2+eIyfmxUsSVh99bo0Hf1WCpxj57i80hPQ+fZI4yHZPorrivjQtsX5ixLk/1yncGAIctAPeQDzwstroIDnOEGgwXmt2IfO8JhAYFW2+rAcwfcHVmj2SL2jjjNmIqHeMkzbamu5FTf3BXERc8nBzy+pGrKHO+KFY3+F8ivvk0/l9d5j0Sai9GfzxGZ2smBvB9OjZHx9MELU8XKhvSj9PjNscT9xDxguj1eyXAQk5ho7QaDGmJGT/0iCY54p6R9qHwbuRYX [email protected]
追加到对端的这个文件里
[root@localhost .ssh]#cd /root/.ssh/
[root@localhost .ssh]#cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgHTvLtVFLp7/KdSSLr2uZtnmrt6hV4fykG/gsPzX4L1wxxBpXv7VpBA3e9J98M/D8PJ+USSNQEjP5pXEp9wtVKk8Vr/tAjHUzcWb8A6B8NQ70Gm1QQis5nazv56C9bP1Jt+12XJpg0mCM3t3urVd6H2f7s7aj/SQCOInAgHeNXde7U1MwlTo06yCuGcEDW1L4BDQgriDqM7aN3CnrDadfZ+fSmyDc/ffFpqUR3gkdhm4KmQoWTmI5IhLa3f6CI55pbdmFWPnJdxd+8iNRlhsBsZM9jJMgzQ1zG0+b+H5TDDkZMqFoIcpmmVzpt+5QAmA0S+pC0BDrU+zkpWCRjfSt [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7WrvsiCf+uVauwqk8FFzHdw6E06pjRX75X531Pv9p+rTa18oAHr516npfzm775wXebGE/WF5MNqizcXC2+eIyfmxUsSVh99bo0Hf1WCpxj57i80hPQ+fZI4yHZPorrivjQtsX5ixLk/1yncGAIctAPeQDzwstroIDnOEGgwXmt2IfO8JhAYFW2+rAcwfcHVmj2SL2jjjNmIqHeMkzbamu5FTf3BXERc8nBzy+pGrKHO+KFY3+F8ivvk0/l9d5j0Sai9GfzxGZ2smBvB9OjZHx9MELU8XKhvSj9PjNscT9xDxguj1eyXAQk5ho7QaDGmJGT/0iCY54p6R9qHwbuRYX [email protected]
  1. 原理
    在.ssh里
    authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥。
    id_rsa : 生成的私钥文件
    id_rsa.pub : 生成的公钥文件
    know_hosts : 已知的主机公钥清单
    如果希望ssh公钥生效需满足至少下面两个条件:
    1). ssh目录的权限必须是700
    2). ssh/authorized_keys文件权限必须是600
    cat /root/.ssh/known_hosts ,这里是保存ssh登陆的信息,第一次登陆ssh的时候提示,相当于保存对方的指纹

  2. 对方主机如何取消你的免密登陆
    删除自己的这个文件,或者找到对方主机的key 删除掉

root@liuhao:~# cd /root/.ssh/
root@liuhao:~/.ssh# ls
authorized_keys
root@liuhao:~/.ssh# rm authorized_keys 
  1. 重新生成key
    在主机/etc/ssh/的文件夹里,有key,的文件,如果全删了,Ssh -keygen -A 重新生成密钥,重启服务。
    之前的主机,就无法认识你的指纹,就需要删除本机里的known_hosts,里面的指纹。然后重新添加

猜你喜欢

转载自blog.csdn.net/liuhaoy/article/details/102719858