目录

一、SSH基础

二、公钥传输原理

三、轻量级自动化运维工具pssh

四、总结:


一、SSH基础

定义:SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能;

SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令;

SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

SSH客户端<--------------网络---------------->SSH服务端

优点:数据传输是加密的,可以防止信息泄漏;

数据传输是压缩的,可以提高传输速度

常见的SSH协议

客户端: Linux Client: ssh, scp, sftp,slogin Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

执行"systemctl start sshd"命令即可启动sshd 服务

sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)

二、公钥传输原理

客户端发起链接请求

服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

客户端生成密钥对

客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

客户端发送加密后的值到服务端,服务端用私钥解密,得到Res

服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都

会被加密

[root@localhost ~]# ssh root@192.168.220.100
The authenticity of host '192.168.220.100 (192.168.220.100)' can't be established.
ECDSA key fingerprint is SHA256:aArqOlCuamj26GHgAEzFwgCWbz8diDjtQxLvmoXmnM4.
ECDSA key fingerprint is MD5:5b:06:9f:24:20:cb:08:c7:f3:d6:20:ff:56:9c:95:9f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.220.100' (ECDSA) to the list of known hosts.
root@192.168.220.100's password:                              //第一次远程需要输入密码,后面再次登录就不需要输入了
Last login: Wed Oct 27 16:14:59 2021 from 192.168.220.1

三、轻量级自动化运维工具pssh

pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh

和scp的多个并行工具,项目:http://code.google.com/p/parallel-ssh/

pdsh:Parallel remote shell program,是一个多线程远程shell客户端,可以并行执行多个远程

主机上的命令。 可使用几种不同的远程shell服务,包括rsh,Kerberos IV和ssh,项目: https://p

dsh.googlecode.com/

mussh:Multihost SSH wrapper,是一个shell脚本,允许使用命令在多个主机上通过ssh执行命

令。 可使用ssh-agent和RSA/DSA密钥,以减少输入密码,项目:http://www.sourceforge.net/pr

ojects/mussh

pssh 命令选项如下:

-H:主机字符串,内容格式”[user@]host[:port]”
-h file:主机列表文件,内容格式”[user@]host[:port]”
-A:手动输入密码模式
-i:每个服务器内部处理信息输出
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输出文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-P:打印出服务器返回信息
-v:详细模式
–version:查看版本

 pssh配置步骤

#安装pssh需要配置开发源[root@localhost ~]# cd /etc/yum.repos.d                   ///etc/yum.repos.d
[root@localhost yum.repos.d]# vim CentOS-Base.repo         //进入配置文件后大G到行末添加配置文件
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64https://mirrors.cloud.tencent.com/epel/$releasever/x86_64https://mirrors.huaweicloud.com/epel/$releasever/x86_64https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
[root@localhost ~]# yum install -y pssh
已加载插件:fastestmirror, langpacks正在安装    : pssh-2.3.1-5.el7.noarch                                                       1/1 验证中      : pssh-2.3.1-5.el7.noarch                                                       1/1 已安装:pssh.noarch 0:2.3.1-5.el7                                                                       完毕!
[root@localhost ~]# ssh-keygen                                     //生成密钥,然后一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:BBoNgWZKVFV3Xo8zBOe451fzl0qR9x8CNvVIfXVq7cs root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|...o==o. . o.+  o|
| .+  o... o * +oo|
|.+  .   .  o Booo|
|.      .    +.*..|
|        S  = = +o|
|          . = + B|
|             + E+|
|            . + +|
|             .  .|
+----[SHA256]-----+
[root@localhost ~]# ssh-copy-id 192.168.59.110                 //输入Ip管理客户端
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.59.110 (192.168.59.110)' can't be established.
ECDSA key fingerprint is SHA256:MW/hyNwCd0Qx/OccVIi5+EjHt6U8V3MoxBx5LAqOC3c.
ECDSA key fingerprint is MD5:df:30:2a:42:8b:fc:aa:3d:27:00:6e:9d:4a:4b:6c:e9.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.220.128's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh '192.168.59.110'"
and check to make sure that only the key(s) you wanted were added.

四、总结:

本章讲述了pssh配置过程及命令,客户机管理在20台以下时都可以使用pssh进行管理,希望会对小伙伴们有些帮助

ssh远程管理及控制相关推荐

  1. 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制

    远程访问及控制(详解)--SSH远程管理及TCP Wrappers 访问控制 一.SSH远程管理 1.定义 2.优点 3.客户端与服务端 4.SSH服务的开启.端口号和配置文件 二.配置 OpenSS ...

  2. 手机linux服务器控制,Termux - Android手机上的Terminal终端(手机ssh远程管理linux服务器)...

    本帖最后由 toddliu 于 2019-5-6 14:35 编辑 Termux是一个安卓手机上的终端神器,可以在手机上ssh远程管理linux服务器,虚拟机linux,可以在手机上使用bash和zs ...

  3. 远程访问及控制——SSH远程管理及TCP Wrappers 访问控制

    一.SSH远程管理 1.定义 SSH(Secure Shell )是一种安全通道协议,主要用来实现字符界面的远程的登录.远程复制等功能. SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录 ...

  4. SSH远程管理、参数讲解、xshell使用、scp,sftp,ssh命令(ssh两种方式的密钥验证方...

    1.SSH远程管理 SSH(Secure Sheel)是一种安全通道协议,主要用于实现字符界面的远程登录.远程复制等功能.SSH协议对通信双方的数据传输进行了加密处理,其中包括用户的口令.与早期的TE ...

  5. SSH远程登录与控制

    文章目录 前言 一.SSH数据传输原理 二.SSH远程管理 1.使用SSH客户端程序 2.OpenSSH服务 SSH(Secure Shell)协议 OpenSSH 服务监听选项 三.SSH远程登录方 ...

  6. 锐捷交换机Telnet/SSH 远程管理配置

    锐捷交换机Telnet/SSH 远程管理配置 很久没有更新CSDN了 因为之前一段时间在找工作,好了废话不多说直接上图. 实验环境 有锐捷设备的真机最好使用真机进行配置,如果没有真机的朋友,可以使用锐 ...

  7. Linux——SSH远程管理

    SSH远程管理 一.SSH协议 二.sshd远程登录 1.查看sshd服务 2.了解SSHD服务端配置文件 3.使用客户端去远程登录服务端的ROOT用户 4.把服务端的远程登录ROOT用户关掉 5.去 ...

  8. Linux SSH远程管理故障如何排查?

    SSH远程管理故障排查方案: 1.检测两个机器是否畅通 两个机器之间是否畅通,查看物理链路是否有问题(网线网卡.IP是否正确) 第1步:物理链路是否畅通,比喻为"高速公路是否畅通" ...

  9. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

最新文章

  1. 混淆工具Dotfuscator基本使用
  2. Blockchain区块链架构设计之四:Fabric多通道和下一代账本设计
  3. 关于Mybatis的各种配置文件
  4. 解释ROM、RAM、SRAM、DRAM与FLASH在使用上的区别及其原因
  5. SQL Server查询死锁并KILL
  6. EF Core事务提交,分布式事务
  7. cf1504. Travelling Salesman Problem
  8. asp.net读取用户控件,自定义加载用户控件
  9. 【js】【cornerstone】cornerstone使用url方式加载图像
  10. 移动端前端月历日历_前端基础:必须要知道的移动端适配(2)——分辨率
  11. Linux -单用户模式(忘记Linux的root密码)
  12. HTML5文件API之FileReader
  13. 神经网络的直观解释相关文档
  14. 双十二大前端工程师读书清单
  15. 传奇物品在地上显示,红字,自动拾取文件
  16. 微信小程序如何实现登陆功能
  17. 刷机-新版PSP2000的自制系统3.60M33刷到3.71M33的刷机教程
  18. winserver2003打开ping
  19. 【CSS】从熟悉到更熟悉
  20. (浙大-19-夏-数据结构学习笔记)二叉树的初步认识

热门文章

  1. R语言read.table读取tsv文件
  2. OpenCvSharp 图像缩放
  3. 数据缓冲策略 —— 无缓冲、行缓冲、全缓冲(缓冲区大小测试)
  4. Ubuntu(Linux)使用Simple Screen Recorder录屏
  5. OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)
  6. Fabric 1.0源代码分析(30) Orderer #BroadcastServer(Broadcast服务端)
  7. 生物医药行业竞争环境
  8. 涡轮增压matlab,车用涡轮增压进气系统消声器声学理论及应用.pdf
  9. 【借尸还魂大法】完美解决Win10系统更新报0x800f0922错误代码
  10. vue.js仿微信聊天窗口展示组件