Day22 SSH远程管理服务

2024-04-25 23:44
文章标签 服务 ssh day22 远程管理

本文主要是介绍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采用密钥去连接在同一个内网中能够使用内网互相访问的服务器

这篇关于Day22 SSH远程管理服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936129

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后