Day22 SSH远程管理服务

sshd服务,系统自带,默认开机自启运行

云/物理服务器的安全组和防火墙默认放行该端口

软件包:openssh-server(服务端);openssh-client(客户端);

格式:ssh IP地址/域名 [参数]

[参数]:

-p 端口号:ssh指定端口登录,一般用于登录修改过端口号的服务器

-i 密钥文件路径:使用指定密钥文件登录

-X:打开对方服务器下带有图形化界面的应用,X11

ssh服务配置文件

服务端配置文件

/etc/ssh/sshd_config

配置文件部分参数解释:

Port 22    //指定允许登录端口22

PermitRootLogin yes    //允许root用户登录

SyslogFacility AUTHPRIV    //将sshd的相关日志储存在 AUTHPRIV 日志对象中

LoginGraceTime 2m    //客户端将有2分钟的时间来完成身份验证,超时将断开连接

MaxAuthTries 6    //每个客户端最多6次机会进行身份验证,超过3次(半数)验证失败将被系统日志记录,超过6次连接将被拒绝

MaxSessions 10    //允许单个客户端建立最多10个会话

AuthorizedKeysFile .ssh/authorized_keys    //指定ssh服务的公钥验证文件authorized_keys(锁)的的位置在每个用户的家目录下的 .ssh 目录中

可以将位置指向同一个目录方便管理例如:AuthorizedKeysFile /etc/ssh/authorized_keys/%u

%u为占位符,实际过程中会被替换为以当前用户名命名的文件夹

PubkeyAuthentication yes    //允许使用密钥验证登录

PasswordAuthentication yes    //允许使用密码验证登录

X11Forwarding yes    //允许X11(图形界面)转发

客户端配置文件

/etc/ssh/ssh_config

Port 22    //指定登陆端口

ForwardX11Trusted yes    //信任服务端通过ssh连接转发过来的X11(图形界面)连接

实例:修改ssh端口

①修改ssh服务端配置文件:vim /etc/ssh/sshd_config

②修改 Port 端口号,保存退出,重启服务,客户端无法登录

此时,客户端想要通过ssh登录服务端的方法:

①通过 [参数] -p来指定端口进行登录

②修改ssh客户端:vim /etc/ssh/ssh_config,将端口号修改为和服务端一致

ssh密钥登录

密钥文件目录(隐藏):/root/.ssh/

root为当前的登录用户,所以密钥目录在当前用户家目录 /root/ 下

生成ssh密钥:ssh -keygen

一直Enter,会在 /root/.ssh/ 目录下生成一对密钥文件:id_rsa.pub 和 id_rsa

公钥:id_rsa.pub

私钥:id_rsa

密钥原理

同一台服务器上的公钥文件 id_rsa.pub 和私钥文件 id_rsa 像是一对配套的锁和钥匙,公钥是锁,私钥是钥匙

但是只有把公钥文件的内容写入验证文件 authorized_keys 中时才能发挥锁的作用

把验证文件(锁)下在谁身上,就可以用对应的私钥文件(钥匙)开谁

实例:免密登录

使用A免密登录B

①A生成密钥:ssh-keygen,密钥文件在 /root/.ssh/ 目录下

A生成配套的A锁(id_rsa.pub)和A钥匙(id_rsa),但此时A锁还不能起作用

②A想免密登录B,则A将自己公钥文件 id_rsa.pub 内容写进B的验证文件 authorized_keys 中

ssh-copy-id 192.168.98.137    //B的IP,过程需要输入B的密码

此时 A锁(id_rsa.pub)在 B的验证文件(authorized_keys)中开始发挥作用,相当于给B下了一个A锁(authorized_keys)

③验证使用A免密登录B

实际上,是用 A钥匙(id_rsa)去开 A锁(authorized_keys )

实例:使用远程登录工具登录

①A生成密钥:ssh-keygen,密钥文件在 /root/.ssh/ 目录下

A生成配套的A锁(id_rsa.pub)和A钥匙(id_rsa),但此时A锁还不能起作用

②A将自己公钥文件 id_rsa.pub 内容写进A自己的验证文件 authorized_keys 中

cd /root/.ssh/

cat id_rsa.pub > authorized_keys

此时 A锁(id_rsa.pub)在 A的验证文件(authorized_keys)中开始发挥作用,相当于给A自己下了一个A锁(authorized_keys)

③将A的私钥文件 id_rsa 下载至本地,并远程工具使用该密钥登录A

实际上就是远程登录工具拿A钥匙(id_rsa)开A给自己下的A锁(authorized_keys)

实例:ssh指定密钥登录

A使用密钥登录B

①B生成密钥:ssh-keygen,密钥文件在 /root/.ssh/ 目录下

B生成配套的B锁(id_rsa.pub)和B钥匙(id_rsa),但此时B锁还不能起作用

②B将自己公钥文件 id_rsa.pub 内容写进B自己的验证文件 authorized_keys 中

cd /root/.ssh/

cat id_rsa.pub > authorized_keys

此时 B锁(id_rsa.pub)在 B的验证文件(authorized_keys)中开始发挥作用,相当于给B自己下了一个B锁(authorized_keys)

③A获取B的私钥文件id_rsa,并使用该密钥登录B

scp 192.168.98.137:/root/.ssh/id_rsa /root/  //192.168.98.137为B的IP

ssh 192.168.98.137 -i id_rsa

实际上是给A一把B钥匙(id_rsa)

A拿着B钥匙(id_rsa)去开B下在自己身上的B锁(authorized_keys)

scp远程拷贝

把文件拷贝到其他服务器:scp 本地文件名 目标IP:目标存放路径

从其他服务器拷贝文件:scp 目标IP:目标文件名 本地存放路径

注意:

-r:远程拷贝目录

如果服务器之间做了免密登录,那么远程拷贝不需要密码

企业案例一

ssh远程连接服务器出现以下报错:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
7e:b5:1d:3b:1c:81:d2:6b:d2:96:f7:1a:1f:e8:16:27.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:2
RSA host key for 172.16.50.240 has changed and you have requested strict checking.
Host key verification failed.

问题:指纹不匹配

解决方法:rm ~/.ssh/known_hosts //删除当前家目录已建立过连接主机的密钥

企业案例二

在阿里云北京4区可用区二有50台服务器,这50台服务器使用同一个私有网络(10.0.0.0/24),只有一台服务器有公网IP,剩下的49台怎么连接?

50台服务器的内网IP为:10.0.0.10 - 10.0.0.60

50台服务器采用内网可以互相访问

A:私网:10.0.0.10  公网:1.98.42.123

先用远程工具连A,A采用密钥去连接在同一个内网中能够使用内网互相访问的服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/574086.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抖音小店没有流量怎么办?这两点做对!别人羡慕你赚的盆满钵满

哈喽~我是电商月月 电商行业,说一句实在的话,每一年都有一批人说电商不好做,但每一年都有人从电商行业赚到钱 做抖音小店没流量出不出单的原因其实很简单,就是思维不同,导致的结果差异 我们做抖店并不是赚一单就满足…

三维点云处理-滤波器

前言: 点云中往往会存在很多噪声,也就是常说的离群点,如下左图中的黑色圈位置,可能会对有效数据的提取分析造成影响,因此在数据分析前通常会考虑采用滤波器(Filter)等手段进行一些预处理的操作。…

东北大学工程训练CNC加工中心(坤图)

东北大学加工中心(CNC)采用的系统为FANUC系统。 要求学生自主设计图样,编写GCODE文件,操作电脑使机床按设计路径铣出图案。 本人设计的图样为坤坤图 图为用CAD设计绘制的图样。 计算坐标,设计铣刀轨迹,得…

解析社交电商:从私域流量到移动突破口

亲爱的朋友们,我是微三云的周丽,一名专注于私域电商模式创新的探索者。 随着互联网的迅速发展和科技的不断进步,社交电商作为新型商业模式不断崛起。在这个时代,私域流量、社群电商、社区电商以及移动电商等概念层出不穷&#xf…

成功密码期刊投稿简介

《成功密码》综合版是由国家新闻出版总署批准,江西省教育厅主管的正规期刊,"以培养担当民族复兴大任的时代新人为着眼点,强化教育引导、实践养成、制度保障",倡导教育研究的学术水准,注重理论与实践的有机结…

Linux消息队列信号量(了解)

消息队列 要实现进程间通信我们必须得让不同的进程看到同一份资源, 根据这个资源的不同(文件缓冲区, 内存块, 队列) 我们将通信方式分为管道,共享内存,以及我们接下来要讲的消息队列。 消息队…

【学习笔记二十七】EWM存储类型控制

一、EWM存储类型控制概述 Storage control 是用来决定仓库产品移动时所需要的流程步骤。它的目的是用来处理基于仓库物理布局及仓库流程所要求的复杂的上架和下架流程步骤。 仓库里常见的操作步骤有:Picking、Packing、Staging、Loading、Putaway、Unloading、Counting、Quali…

【C语言】联合体详解

目录 1.联合体的声明 2.联合体的特点 3.相同成员的结构体和联合体对比 4.联合体大小的计算 1.联合体的声明 像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最大的成员分配足够的内存空间。 联合体的特点是所…

操作系统:进程间通信 | System V IPC

目录 前言: 1.共享内存 1.1.什么是共享内存 1.2.共享内存使用接口 shmget函数 shmat函数 shmdt函数 shmctl函数 2.共享内存实现通信 2.1.代码实现 comm.hpp server,cpp client.cpp 2.2.共享内存的缺点 2.3.实现通信的同步化 2.4共享内存通信的优势 3.…

Vitis HLS 学习笔记--HLS入门示例集合-目录

目录 1. 示例集合概述 2. Interface 接口 2.1 Aggregation_Disaggregation 聚合与解聚 2.1.1 aggregation_of_m_axi_ports 2.1.2 aggregation_of_nested_structs 2.1.3 aggregation_of_struct 2.1.4 auto_disaggregation_of_struct 2.1.5 disaggregation_of_axis_port …

游戏工作室为什么要使用海外住宅IP防封?

当谈到游戏工作室时,它们通常以多开游戏账号来获取收益为主要目标。这种商业模式在游戏产业中已经成为一个独特而且颇具潜力的领域。然而,随之而来的是防封问题,特别是当游戏工作室试图通过多开账号来赚取更多收益时。因此,我们有…

Navicat连接SQLSever报错:[08001] MicrosoftTCP Provider 远程主机强迫关闭了一个现有的连接

Navicat连接SQLSever报错:[08001] [Microsoft][SQL Server Native Client 10.0]TCP Provider: 远程主机强迫关闭了一个现有的连接 问题分析 旧版的MSSQL 如果不是最新版的,可以去这安装以下即可。 最新版的MSSQL 如果是安装最新版的MSSQL连接不上很正…

Kubernetes 的未来:通过生成式 AI 实现的潜在改进

Kubernetes 是一个用于自动化部署、扩展和管理容器化应用程序的开源平台,它彻底改变了 IT 行业。然而,与所有创新技术一样,它不断寻求改进以提高效率、可用性和功能。生成式人工智能(Generative AI)是一个有望取得改进…

C++:匿名对象

在C中,匿名对象是指在不分配给定变量名称的情况下创建的临时对象。这些对象通常用于传递参数给函数、作为函数的返回值或者在表达式中使用。 创建匿名对象 在C中,您可以使用类的构造函数来创建匿名对象。例如: MyClass(); // 创建一个匿名…

终于有人把“Linux云计算路线”整理出来了,收藏起来,随时查看

一,计算机硬件 二,计算机网络 三,Linux系统管理 四,构建Linux服务系统,数据库,程序及Web服务 五,消息队列,web集群,系统及软件优化,智能化监控,海…

CSS画一条虚线,并且灵活设置虚线的宽度和虚线之间的间隔和虚线的颜色

CSS画一条虚线,并且灵活设置虚线的宽度和虚线之间的间隔和虚线的颜色。 先看效果图: 在CSS中,你可以使用border属性或者background属性来画一条虚线。以下是两种常见的方法: 方法一:使用border属性 你可以设置一个元素的border…

4.25日学习记录

[HZNUCTF 2023 preliminary]ppppop 对于php反序列化,在之前的学习中有过了解,但是对于序列化字符串的格式不是很了解,刚好接触这题,可以了解一下 序列化字符串的格式: 布尔型(bool)b&#xf…

036——完善编译框架和注释并选择开源协议

目录 小总结 编译框架完善 代码风格 开源协议选择 小总结 经过两个月的努力现在已经写了457MB的代码了 . ├── board │ ├── Linux │ │ └── 4_9_88 │ │ └── ARM32 │ │ └── 100ask │ │ └── imx6ull_mi…

10.JAVAEE之网络编程

1.网络编程 通过网络,让两个主机之间能够进行通信 >基于这样的通信来完成一定的功能进行网络编程的时候,需要操作系统给咱们提供一组 AP1, 通过这些 API才能完成编程(API 可以认为是 应用层 和 传输层 之间交互的路径)(API:Socket API相当…

简单案例验证说明 双亲委派机制

双亲委派介绍 双亲委派机制(Parent Delegation Mechanism)是Java中的一种类加载机制。在Java中,类加载器负责加载类的字节码并创建对应的Class对象。双亲委派机制是指当一个类加载器收到类加载请求时,它会先将该请求委派给它的父…