【SSH配置公钥私钥免密登录】

SSH配置公钥私钥免密登录

    • SSH的安全机制
    • 一、修改远程主机ssh设置
    • 二、在windows客户端生成公钥私钥文件
    • 三、将客户端公钥追加到远程主机 .ssh/authorized_keys中
    • 参考链接

SSH的安全机制

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。
第二种级别(基于密钥的安全验证):你必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。

一、修改远程主机ssh设置

在windows客户端以root用户名密码登录远程linux云主机:

vim /etc/ssh/sshd_configRSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys #公钥认证文件

按esc键,:wq保存后,输入service ssh restart重启ssh服务。
在这里插入图片描述
linux默认允许密码登录,即PasswordAuthentication yes

二、在windows客户端生成公钥私钥文件

ssh-keygen -t rsa

在这里插入图片描述

一路回车之后在$HOME/.ssh/下就可以看到两个文件id_rsa为私钥,id_rsa.pub为公钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、将客户端公钥追加到远程主机 .ssh/authorized_keys中

首先将公钥文件id_rsa.pub上传至远程linux主机。

cat .ssh/id_rsa.pub | ssh root@xxx.xxx.xxx.xx -p xxxxx 'cat >> .ssh/authorized_keys'

在这里插入图片描述
为谨慎起见,可先不关闭密码登录,要关闭密码登录即设置PasswordAuthentication no,修改后重启ssh服务。
使用远程工具MobaXterm测试:
在这里插入图片描述
在这里插入图片描述
选择私钥文件id_rsa,点击确定。
在用户会话中双击要登录的IP,成功登录:
在这里插入图片描述
使用xshell测试:
在这里插入图片描述

在这里插入图片描述登录成功。
如果配置完成还是无法免密登录,检查权限,属组是否正确
.ssh目录的权限必须是700
.ssh/authorized_keys文件权限必须是600

也可在ssh-keygen -t rsa时设置密码,需要先设置linux默认允许密码登录,即PasswordAuthentication yes,调试成功后再关闭即可:
在这里插入图片描述
使用MobaXterm测试发现加载文件后可以登录,与之前无差别。
使用xshell时,点击用户密钥:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需输入正确的密码(ssh-keygen -t rsa时设置的密码)才能导入。

而当点击文件,再点击确定时显示无法加载用户密钥:
在这里插入图片描述
输入密码后正常。
还是ssh-keygen -t rsa时不设置密码方便!

参考链接

1.SSH登录流程及配置公钥登录
2.RSA密钥使用指南

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

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

相关文章

机载激光雷达标定板提高测量精度

机载激光雷达系统标定板(LiDAR)是一种高精度的遥感技术,它通过发射激光脉冲并接收反射回来的光波来测量目标物体的距离。这种技术在测量地形、建筑物、植被等方面有着广泛的应用。为了确保机载激光雷达系统的数据准确性和可靠性,需…

An Experimental Study of State-of-the-Art Entity Alignment Approaches论文阅读

最先进的实体对齐方法的实验研究综述 Title: An Experimental Study of State-of-the-Art Entity Alignment Approaches 日期: 2022 发表单位: IEEE github: https://github.com/DexterZeng/EAE 原文地址: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber9174835 概括…

flutter 弹窗之系列二

自定义弹窗&#xff08;含底部抽屉&#xff09;Dialog class MyHomePage extends StatefulWidget {const MyHomePage({super.key, required this.title});final String title;overrideState<MyHomePage> createState() > _MyHomePageState(); }class _MyHomePageState…

2024-03-26 AIGC-大模型学习路线

摘要: 2024-03-26 AIGC-大模型学习路线 大模型学习路线 建议先从主流的Llama开始&#xff0c;然后选用中文的Qwen/Baichuan/ChatGLM&#xff0c;先快速上手体验prompt工程&#xff0c;然后再学习其架构&#xff0c;跑微调脚本 如果要深入学习&#xff0c;建议再按以下步骤&am…

云手机:实现便携与安全的双赢

随着5G时代的到来&#xff0c;云手机在各大游戏、直播和新媒体营销中扮演越来越重要的角色。它不仅节约了成本&#xff0c;提高了效率&#xff0c;而且在边缘计算和云技术逐渐成熟的背景下&#xff0c;展现出了更大的发展机遇。 云手机的便携性如何&#xff1f; 云手机的便携性…

企业微信应用结合Cpolar内网穿透实现固定域名验证回调本地接口服务

文章目录 1. Windows安装Cpolar2. 创建Cpolar域名3. 创建企业微信应用4. 定义回调本地接口5. 回调和可信域名接口校验6. 设置固定Cpolar域名7. 使用固定域名校验 企业微信开发者在应用的开发测试阶段&#xff0c;应用服务通常是部署在开发环境&#xff0c;在有数据回调的开发场…

k8s入门到实战(四)—— k8s核心概念以及基本操作命令详细介绍

k8s 核心概念及操作命令 namespace&#xff08;命名空间&#xff0c;简称 ns&#xff09; k8s 资源创建的两种方式&#xff1a;使用命令行创建、使用 yaml 文件创建 什么是 ns 在 k8s 中&#xff0c;ns 是一种用于对集群资源进行逻辑分组和隔离的机制。它允许将 k8s 集群划…

torch.utils.data.DataLoader参数分析

1、dataset&#xff1a;&#xff08;数据类型 dataset&#xff09; 输入的数据类型,这里是原始数据的输入。PyTorch内也有这种数据结构。 2、batch_size&#xff1a;&#xff08;数据类型 int&#xff09; 批训练数据量的大小&#xff0c;根据具体情况设置即可&#xff08;默…

Elasticsearch8 - Docker安装Elasticsearch8.12.2

前言 最近在学习 ES&#xff0c;所以需要在服务器上装一个单节点的 ES 服务器环境&#xff1a;centos 7.9 安装 下载镜像 目前最新版本是 8.12.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2创建配置 新增配置文件 elasticsearch.yml http.host…

16 网络管理与网络安全(3)

1.公钥基础设施&#xff08; PKI&#xff09; PKI 是利用公钥加密和数字签名技术建立的安全服务基础设施&#xff0c;以保证网络环境中数据的秘密性、完整性与不可抵赖性。PKI 是一种针对电子商务、电子政务应用&#xff0c;利用非对称加密体系&#xff0c;提供安全服务的通用性…

微信聊天记录删了怎样才能恢复?揭秘4个宝藏方法

在我们使用微信进行聊天的过程中&#xff0c;不可避免地会出现误删聊天记录的情况&#xff0c;这可能是因为手误、设备问题或其他原因导致的。而当重要的聊天记录不慎被删除时&#xff0c;往往会让人感到焦虑和困扰。然而&#xff0c;幸运的是&#xff0c;针对被删除的微信聊天…

函数式编程的理解

函数式编程&#xff08;Functional Programming&#xff0c;简称FP&#xff09;是一种编程范式&#xff0c;它将计算视为数学函数的求值&#xff0c;并避免使用程序状态以及易变对象。这种编程风格强调不可变性&#xff08;Immutability&#xff09;、纯函数&#xff08;Pure F…

Java基础--128陷阱

问题引入 Integer a 123; Integer b 123; System.out.println(ab); 结果为true。 但是如果代码如下 Integer a 1230;Integer b 1230;System.out.println(ab); 这个的结果就是false。 问题解决 当Integer a 123时&#xff0c;其实他底层自动转换成了Integer a Inte…

docker--Dockerfile (三)

1&#xff0c;Dcockerfile是什么 docker推荐使用dockerfile的定义文件和docker build命令来构建镜像。dockerfile使用基本的基于DSL&#xff08;面向领域语言&#xff09;语法的指令来构建Docker镜像。另一种创建Docker镜像的方式是使用docker commit&#xff0c;不推荐使用。 …

【python】flask执行上下文context,请求上下文和应用上下文原理解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

SqlServer期末复习(数据库原理及应用)持续更新中

一、SQL语句 1.1 SQL语句知识引入 1.DDL语言(数据定义语言&#xff09;主要是进行定义/改变表的结构、数据类型、表之间的链接等操作&#xff0c;关键字CREATE、DROP、ALTER CREATE TABLE 表面( 列名1 数据类型&#xff0c; 列名2 数据类型&#xff0c; ) ALTER TABLE 表名&a…

掌控仓位管理之道 稳健操作赢得长期收益

作为投资领域资深从业者,刘国海老师拥有顶尖学府香港中文大学和纽约大学的高等教育背景,通过20余年的金融投资实战,累积了大量操作经验,对市场行情亦有精准洞察。 在漫长投资历程中,刘国海老师一直高度重视仓位管理,视之为获取稳健收益的重中之重。合理仓位是投资收益与风险之…

MFC 打开类向导中方法时提示对com组件的调用返回了错误 HRESULT E_FAIL

解决&#xff1a;头文件中要分类&#xff0c;把virtual和afx_msg等放在一起&#xff0c;不要交叉错开。 MFC&#xff08;Microsoft Foundation Class&#xff09;中的virtual关键字用于声明虚函数。虚函数是C中实现多态的一种机制&#xff0c;它允许派生类重新定义基类中的虚函…

【算法刷题day6】Leetcode:242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

文章目录 Leetcode 242. 有效的字母异位词解题思路代码总结 Leetcode 349. 两个数组的交集解题思路代码总结 Leetcode 202. 快乐数解题思路代码总结 Leetcode 1. 两数之和解题思路代码总结 HashSet基本使用&#xff1a;HashMap基本使用&#xff1a; 草稿图网站 java的Deque Le…

java面试题|(1)多线程如何停止一个线程?

在Java中&#xff0c;停止一个线程的方法通常有以下几种&#xff1a; 使用标志位停止线程&#xff1a; 这是一种常见的做法&#xff0c;即通过设置一个标志位&#xff0c;在线程的执行体中检查这个标志位&#xff0c;当标志位满足某个条件时&#xff0c;退出线程执行。 class M…