Debian-linux运维-ssh配置(兼容Jenkins插件的ssh连接公钥类型)

系统版本:Debian 12.5、11.1

1 生成密钥对

可以用云服务商控制台生成的密钥对,也可以自己在客户端或者服务器上生成,

已经有密钥对就可以跳过这步

用户默认密钥文件路径为 ~/.ssh/id_rsa,可以在交互中指定路径,也可以加-f参数指定路径
注意避免用户覆盖已有密钥

ssh-keygen -t rsa  # 生成配对密钥,后续一路enter即可
#ssh-keygen -t rsa -f ~/.ssh/id_rsa

passphrase 的建议:设置 passphrase(密码)是为了提高私钥的安全性,但如果是自动化场景(如无交互式登录),则留空更方便。

会在用户目录(即~这个)下生成.ssh文件夹,里面的id_rsa是私钥,id_rsa.pub是公钥

进入.ssh文件夹中,将公钥写入到authorized_keys中,将id_rsa私钥下载并保存好

2 公钥写入

在以下命令之前,需检查 authorized_keys 文件是否已存在。如果存在直接追加,避免覆盖

cd ~/.ssh
touch authorized_keys 
cat id_rsa.pub >> authorized_keys # 直接追加到 authorized_keys

设置 .ssh 目录和 authorized_keys 文件的权限,以确保 SSH 密钥认证的安全性,防止未授权访问或潜在的安全风险
目录权限(700):保护目录及其文件不被其他用户访问。
文件权限(600):保护公钥文件内容不被篡改或读取

chmod 700 ~/.ssh
chmod 600 ~/.sshauthorized_keys

3 修改ssh配置

vim /etc/ssh/sshd_config

关键配置项说明

  • Port:
    修改默认端口(22)为其他端口,例如 12322
Port 12322
  • 禁用 root 登录:
    禁止直接使用 root 登录,提高安全性(如非必要,建议设置为 no):
  • 以后只有一个root用户 就不用改这里!
PermitRootLogin no
  • 密钥认证和密码认证:
    使用密钥认证并禁用密码登录(测试密钥登录成功后再修改密码登录设置):
PubkeyAuthentication yes
PasswordAuthentication no
  • 指定公钥文件路径:
# 默认是 .ssh/authorized_keys,必要时可自定义
AuthorizedKeysFile .ssh/authorized_keys
  • 指定允许的公钥类型
    针对兼容性问题(如 Jenkins 插件的 SSH 连接):
PubkeyAcceptedKeyTypes=+ssh-rsa
  • 监听特定地址: 只允许指定的 IP 地址:
ListenAddress 0.0.0.0 # 允许所有地址
ListenAddress 192.168.1.100 # 仅监听特定地址

云服务商的控制台的安全组:最好限制特定ip才能登录ssh端口

如果不用云服务商的安全组,可以使用firewall-cmd管理端口,把新的ssh端口先开放

我个人习惯是先必须修改下面几项

Port 22 #修改端口
PubkeyAuthentication yes # yes表示允许密钥登陆
# AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 # 指定密钥的文件位置
PasswordAuthentication no # 不允许使用密码登陆,等测试密钥登陆成功了再修改此条,以防无法登陆
PubkeyAcceptedKeyTypes=+ssh-rsa #Jenkins 插件ssh连接失败Auth fail可以添加

找到对应行,进行修改

4 重启ssh

systemctl restart ssh
last
journalctl -u ssh

或者,如果你想查看实时更新:

journalctl -u ssh -f

5 测试连接

ssh -p 2202 user@server_ip

参考文章:

SSH远程管理与配置

https://blog.csdn.net/qq_47855463/article/details/116655311

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于服务器部署的综合视频安防系统的智慧快消开源了。

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。国产化人工智能“…

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…

_使用CLion的Vcpkg安装SDL2,添加至CMakelists时报错,编译报错

语言:C20 编译器:gcc 14.2 摘要:初次使用Vcpkg添加SDL2,出现CMakelists找不到错误、编译缺失main错误、运行失败错误。 CMakelists缺失错误: 使用CLion的Vcpkg安装SDL2时,按照指示把对应代码添加至CMakel…

可解释性:走向透明与可信的人工智能

随着深度学习和机器学习技术的迅速发展,越来越多的行业和领域开始应用这些技术。然而,这些技术的“黑盒”特性也带来了不容忽视的挑战🎲。在许多任务中,尽管这些模型表现出色,取得了相当高的精度,但其决策过…

SQL Server导出和导入可选的数据库表和数据,以sql脚本形式

一、导出 1. 打开SQL Server Management Studio,在需要导出表的数据库上单击右键 → 任务 → 生成脚本 2. 在生成脚本的窗口中单击进入下一步 3. 如果只需要导出部分表,则选择第二项**“选择具体的数据库对象(Select specific database objects)”**&am…

Eclipse下载安装图文教程

一、下载Eclipse 1、打开 Eclipse官网 2、下载免安装版; 3、切换国内下载源 4、下载压缩包到本地; 5、下载完成后直接解压就可以使用了; 二、汉化 1、打开eclipse,点击 ‘Help’ → ‘Install new software…’ 2、点击A…

【开源免费】基于SpringBoot+Vue.JS音乐网站(JAVA毕业设计)

本文项目编号 T 109 ,文末自助获取源码 \color{red}{T109,文末自助获取源码} T109,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

Sonic:开源Go语言开发的高性能博客平台

Sonic:一个用Go语言开发的高性能博客平台 简介 Sonic,一个以其速度如声速般快速而命名的博客平台,是一个用Go语言开发的高性能博客系统。正如其名字所暗示的,Sonic旨在提供一个简单而强大的博客解决方案。这个项目受到了Halo项目…

Pygame Zero(pgzrun)详解(简介、使用方法、坐标系、目录结构、语法参数、安装、实例解释)

Pygame Zero(pgzrun)详解 (简介、使用方法、坐标系、目录结构、语法参数、安装、实例解释) 本文目录: 零、时光宝盒 一、Pygame Zero简介 二、Pygame Zero的编写游戏的一般流程 三、Pygame Zero 的坐标系 四、Py…

Java jni调用nnom rnn-denoise 降噪

介绍&#xff1a;https://github.com/majianjia/nnom/blob/master/examples/rnn-denoise/README_CN.md 默认提供了一个wav的例子 #include <stdint.h> #include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h>#include …

图像处理-Ch7-小波函数

个人博客&#xff01;无广告观看&#xff0c;因为这节内容太多了&#xff0c;有点放不下&#xff0c;分了三节 文章目录 多分辨率展开(Multi-resolution Expansions)序列展开(Series Expansions)尺度函数(Scaling Function)例&#xff1a;哈尔尺度函数(Haar scaling func)多分…

solr9.7 单机安装教程

1.环境要求:jdk11以上 2.下载wget https://dlcdn.apache.org/solr/solr/9.7.0/solr-9.7.0.tgz 3.解压 4.修改solr.in.sh配置 5.启动命令 bin/solr start 6.创建core bin/solr create -c <core名称> 注意:用solr ui界面创建&#xff0c;会提示找不到solrconfig.xml和m…

Python爬虫(一)- Requests 安装与基本使用教程

文章目录 前言一、简介及安装1. 简介2. 安装 Requests2.1 安装2.2 检查安装是否成功 二、使用 Requests 发送 HTTP 请求1. 发送 GET 请求2. 发送 POST 请求3. 发送 PUT 请求4. 发送 DELETE 请求5. 发送 HEAD 请求6. 发送 OPTIONS 请求 三、传递参数1. GET 请求传递 URL 参数1.1…

使用exe4j将jar转成exe、java打包exe

1、maven打包 需要配置以下插件&#xff0c;注意skip为false 插件配置中设置 <skip>true</skip> 时&#xff0c;实际上是告诉 Maven 在构建过程中跳过 spring-boot-maven-plugin 插件的执行。也就是说&#xff0c;Maven 在打包时不会将项目打包成可执行的 JAR 文…

基本算法——分类

目录 创建项目 导入依赖 加载数据 特征选择 学习算法 对新数据分类 评估与预测误差度量 混淆矩阵 通过模型的预测结果生成 ROC 曲线数据 选择分类算法 完整代码 结论 创建项目 首先创建spring boot项目&#xff0c;我这里用的JDK8&#xff0c;springboot2.7.6&…

Debian 系统中解决中文日志乱码问题

在 Debian 系统中&#xff0c;打印中文日志时经常会遇到乱码问题。这通常是因为系统的 locale 设置不正确&#xff0c;或者缺少所需的字体支持。本文将详细介绍如何解决此类问题&#xff0c;以确保你的 Debian 系统能够正确显示和处理中文字符。 一 乱码问题 问题描述当你尝试…

【电源专题】LDO关键DC参数——效率

在讲到电源的效率方面,很多时候网上最经常看到的是“LDO的效率低,开关电源效率高,所以LDO需要更大的散热器来帮助耗散热能”。 比如如下所示为网上找到的一些总结,一般也是大家所熟知的: 是的,这描述在一定的使用条件下是正确对的,但并不完全对,因为不同的工作…

传统听写与大模型听写比对

在快节奏的现代生活中&#xff0c;听写技能仍然是学习语言和提升认知能力的重要环节。然而&#xff0c;传统的听写练习往往枯燥乏味&#xff0c;且效率不高。现在&#xff0c;随着人工智能技术的发展&#xff0c;大模型听写工具的问世&#xff0c;为传统听写带来了革命性的变革…

Spring Bean required a single bean, but 2 were found,发现多个 Bean

问题复现 在使用 Autowired 时&#xff0c;不管你是菜鸟级还是专家级的 Spring 使用者&#xff0c;都应该制造或者遭遇过类似的错误&#xff1a; required a single bean, but 2 were found 顾名思义&#xff0c;我们仅需要一个 Bean&#xff0c;但实际却提供了 2 个&#xff…

李宏毅机器学习笔记-Transformer

目录 1. Seq2seq 2. encoder Transformer 中的 Block 结构 3. Decoder 4.Encoder和Decoder间的信息传递 5.Training 6.Tips 1. Seq2seq Transformer 是一个seq2seq的model。Seq2seq指的是input是一个序列&#xff0c;输出也是一个序列&#xff0c;输出的长度是由机器自己…