SSH远程管理服务

news/2024/5/19 22:10:53

什么是SSH服务器?

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

ssh服务的优点

  • 数据传输是加密的,可以防止信息泄漏

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

ssh原理

  • 客户端发起链接请求

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

  • 客户端生成密钥对

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

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

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

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

命令登录:

此时是要使用密码的但我们可以直接密钥登录即可无需密码具体原理如下:

  1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户

  2. 用户会根据服务器发来的公钥对密码进行加密

  3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

第一步生成密钥此处要填写的部分分别是生成文件位置密钥密码我们直接空格即可

发送密钥:直接登录即可:

 

#免密登录脚本


#!/bin/bash
PASS=123123
#设置网段最后的地址,4-255之间,越小扫描越快
END=254

IP=`ip a s ens33 | awk -F'[ /]+' 'NR==3{print $3}'`
NET=${IP%.*}.

rm -f /root/.ssh/id_rsa
[ -e ./SCANIP.log ] && rm -f SCANIP.log
for((i=3;i<="$END";i++));do
ping -c 1 -w 1  ${NET}$i &> /dev/null  && echo "${NET}$i" >> SCANIP.log &
done
wait

ssh-keygen -P "" -f /root/.ssh/id_rsa
rpm -q sshpass || yum -y install sshpass
sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no $IP

AliveIP=(`cat SCANIP.log`)
for n in ${AliveIP[*]};do
sshpass -p $PASS scp -o StrictHostKeyChecking=no -r /root/.ssh root@${n}:
done

ssh服务的最佳实践

  1. 建议使用非默认端口 22

  2. 禁止使用protocol version 1

  3. 限制可登录用户 白名单

  4. 设定空闲会话超时时长

  5. 利用防火墙设置ssh访问策略

  6. 仅监听特定的IP地址 公网 内网

  7. 基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

  8. 使用基于密钥的认证

  9. 禁止使用空密码

  10. 禁止root用户直接登录

  11. 限制ssh的访问频度和并发在线数

  12. 经常分析日志 分离

配置文件的位置

  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:/etc/ssh/sshd_config
  • 客户端配置文件:/etc/ssh/ssh.config

配置文件的含义

认证与连接设置

  • ForwardAgent no:禁止代理转发,即不允许SSH代理来转发本地机器上的SSH密钥。
  • ForwardX11 no:禁用X11转发(X11是Linux/Unix系统的图形界面标准)。
  • RhostsRSAAuthentication no:不使用基于.rhosts文件和RSA公钥的认证方式。
  • RSAAuthentication yes:允许RSA公钥认证。
  • PasswordAuthentication yes:允许使用密码进行认证。
  • HostbasedAuthentication no:禁用基于主机的认证。
  • GSSAPIAuthentication no:不使用通用安全服务API (GSSAPI) 进行认证。
  • BatchMode no:非批处理模式,即不是自动模式,通常在需要交互式登录时使用。
  • CheckHostIP yes:检查连接的服务器IP与已知host文件中的IP是否一致。
  • StrictHostKeyChecking ask:如果服务器的主机密钥未知或发生变化,则询问用户是否继续连接。

文件和加密设置

  • IdentityFile ~/.ssh/identity等:指定用于认证的密钥文件路径。
  • Port 22:指定SSH连接使用的端口,标准SSH端口为22。
  • Protocol 2:指明使用SSH协议版本2。
  • Cipher 3des:指定单一密码算法为3DES。
  • Ciphers aes128-ctr, ...:指定允许的加密算法列表。
  • MACs hmac-md5, ...:指定允许使用的消息认证码算法。

其他设置

  • ConnectTimeout 0:连接超时设为0,表示没有超时限制。
  • Tunnel no:不启用隧道。
  • VisualHostKey no:不显示视觉化的主机密钥。
  • ProxyCommand ssh -q -W %h:%p gateway.example.com:设置代理命令,用于通过另一台SSH服务器(如网关)来连接目标服务器。

 

 

scp
拷贝到远端:
scp  指定拷贝文件的路径   远端IP:指定存放位置

 从远端拷贝:

sftp:安全ftp上载 

连接主机:

get下载put上传

quit退出 


http://www.mrgr.cn/p/70001660

相关文章

buuctf-pwn-[第五空间2019 决赛]PWN5-格式化字符串漏洞

题目地址:https://buuoj.cn/challenges#[第五空间2019 决赛]PWN5 先检查一下保护情况再拖进ida里分析找到一个格式化字符串漏洞,那么我们可以利用这个漏洞去获取或者改写dword_804C044的值 从而进入if语句中,拿到shell 什么是格式化字符串漏洞 所谓格式化字符串漏洞,就是我…

使用 GPT-4-turbo+Streamlit+wiki+calculator构建Math Agents应用【Step by Step】

&#x1f496; Brief&#xff1a;大家好&#xff0c;我是Zeeland。Tags: 大模型创业、LangChain Top Contributor、算法工程师、Promptulate founder、Python开发者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 个人说明书&#xff1a;Zeeland&…

极验4 一键解混淆

提示&#xff01;本文章仅供学习交流&#xff0c;严禁用于任何商业和非法用途&#xff0c;未经许可禁止转载&#xff0c;禁止任何修改后二次传播&#xff0c;如有侵权&#xff0c;可联系本文作者删除&#xff01; AST简介 AST&#xff08;Abstract Syntax Tree&#xff09;&a…

9.数字马力面试

9.1 Java基础9.1.1 volatile的概述和原理在Java中volatile是一个防止指令重排以及保证可见性的关键字。如果我们将变量声明为volatile,那么就指示JVM这个变量共享且不稳定,每次从主存中进行读取。AQS的status就是使用volatile修饰的。 借用Guide哥的图片:   如果将变量声明…

Python Dash库:一个Web应用只需几行代码

大家好&#xff0c;在数据科学领域&#xff0c;数据可视化是将数据以图形化形式展示出来&#xff0c;帮助我们更直观地理解数据。Python中有一个非常流行的数据可视化库叫做Dash&#xff0c;Dash以其简洁、高效和强大的功能而闻名&#xff0c;它允许开发者快速构建交互式Web应用…

mac nvm install node<version> error 404

mac m2芯片遇到的问题&#xff0c;估计m系列的应该也有这个问题&#xff0c;在这里记录一下 解决方案&#xff1a; ## 需要先处理一下兼容就OK了arch -x86_64 zsh nvm install returns curl: (22) The requested URL returned error: 404 Issue #2667 nvm-sh/nvm GitHub

传统汽车空调系统工作原理

1.首先讲一个概念 液体变成气体&#xff1a;吸热 气体变成液体&#xff1a;放热 2.在汽车空调系统中热量的传递的介质不是水&#xff0c;而是氟利昂&#xff0c;简称&#xff1a;“氟”。 3.传统式汽车空调结构如下 该三个部件位于车头进气口位置 该部位位于汽车驾驶车厢前方…

ubuntu 安装单节点HBase

下载HBase mkdir -p /home/ellis/HBase/ cd /home/ellis/HBase/ wget https://downloads.apache.org/hbase/2.5.8/hbase-2.5.8-bin.tar.gz tar -xvf hbase-2.5.8-bin.tar.gz安装java jdk sudo apt install openjdk-11-jdksudo vim /etc/profileexport JAVA_HOME/usr/lib/jvm/…

【vue3入门】-【21】 组件传递数据

组件传递数据_Props静态数据传递组件与组件之间不是完全独立的,而是有交集的,那就是组件与组件之间是可以传递数据的 传递数据的解决方案就是props app.vue <template><!--主要要生效Header中的样式,需要删除main.json中默认的main.css样式--><!--不需要再次…

shell脚本编写-测试同一网段内主机是否在线

除了可以使用ansible自动化运维工具判断主机是否在线以外&#xff0c;还可以通过编写Shell脚本来实现。 1、编写脚本 #! /bin/bash #测试192.168.81.0/24网段中哪些主机处于开机状态&#xff0c;哪些主机处于关机状态# #方法一&#xff1a;使用for循环判断 # for i in {1..25…

大学数据结构学不进去怎么办?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「数据结构的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;除了极少数的“算法天才”&a…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布&#xff0c;社区版下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制&#xff1a;与组复制相关的两个服务器系统变量的默认值已更改&#xff1a; 系统变量的默认值为 group_replication…

走过人生的复平面:个人信息学奥林匹克生涯回顾

从最开始到一切的结局,完整详细的个人回忆录。走过人生的复平面—— 个人信息学奥林匹克生涯回顾写在前面:一个简单的介绍 信息学奥林匹克竞赛,即 Olympiad in Informatics,AKA OI,而学习 OI 的人则自称为 OIer。通常来讲,一个中国大陆 OIer 的一个赛季是,参加 10 月份的…

计算机视觉——OpenCV Otsu阈值法原理及实现

算法简介 Otsu阈值法&#xff0c;也被称为大津算法&#xff0c;是一种在图像处理中广泛使用的自动阈值分割技术。这种方法由日本学者大津展之于1979年提出&#xff0c;旨在根据图像的灰度直方图来自动选择最佳全局阈值。Otsu阈值法的核心思想是最小化类内方差或最大化类间方差…

springboot项目组合定时器schedule注解实现定时任务

springboot项目组合定时器schedule注解实现定时任务&#xff01; 创建好springboot项目后&#xff0c;需要在启动类上增加注解开启定时器任务 下图所示&#xff1a; 增加这个注解&#xff0c;启动项目&#xff0c; package com.example.scheduledemo.util;import org.springf…

如何批量重命名,把文件(夹)名的内容位置调整(前后移动)

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 情况是这样,把“中文[数字]”的名称,改为"中文 - 数字"打开工具,切换到 文件批量复制 模块,快捷键Ctrl+5找到右下角的“重命名”按钮,打开把那些文件拖入进去,也可以用右侧的导入按钮(如…

vue的template中访问不到变量

描述 源代码 <h4>&emsp;&emsp;{{hitokoto.hitokoto}}</h4>报错如下。解决 普通字符和变量之间加个空格就行了 <h4>&emsp;&emsp; {{hitokoto.hitokoto}}</h4>

Ryght 在 Hugging Face 专家助力下赋能医疗保健和生命科学之旅

本文是 Ryght 团队的客座博文。Ryght 是何方神圣? Ryght 的使命是构建一个专为医疗保健和生命科学领域量身定制的企业级生成式人工智能平台。最近,公司正式公开了 Ryght 预览版 平台。 当前,生命科学公司不断地从各种不同来源 (实验室数据、电子病历、基因组学、保险索赔、药…

如何搜索空文件夹_名称为(纯或含)中/英/数/符

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 打开工具,切换到批量文件复制版块,快捷键Ctrl+5点击右侧的搜索添加设定要搜索的范围、指定为文件夹、包括子目录,勾选详细条件在过滤条件里,勾选“按命名”,“含有内容”,“仅文件夹名”,“任意”…

贪心问题 难度[普及-]一赏

目录 #小A的糖果 删数问题 陶陶摘苹果&#xff08;升级版&#xff09; P5019 NOIP2018 提高组 铺设道路 小A的糖果 原文链接: P3817 小A的糖果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 小 A 有 n 个糖果盒&#xff0c;第 i 个盒中有 a_i 颗糖果。 小 A 每…