SSH配置公钥私钥免密登录——windows to linux

SSH配置公钥私钥免密登录——windows to linux

    • 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.hqwc.cn/news/572107.html

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

相关文章

零基础学python之高级编程(6)---Python中进程的Queue 和进程锁,以及进程池的创建 (包含详细注释代码)

Python中进程的Queue 和进程锁,以及进程池的创建 文章目录 Python中进程的Queue 和进程锁,以及进程池的创建前言一、进程间同步通信(Queue)二、进程锁(Lock)三、创建进程池Poorpool 类方法: End! 前言 大家好,上一篇文章,我们初步接触了进程的概念及其应…

C语言:文件操作解析

在本文的开篇,我们要探讨为什么要使用文件?我们写的程序的数据是存储在电脑的内存中的,没有文件,如果程序退出,内存收回,数据就会丢失,等再次运行程序的时候,上次程序中的数据就找不…

虚拟机如何在原有磁盘上扩容

虚拟机未开启状态–菜单栏–虚拟机–快照–拍摄快照–拍摄快照– 菜单栏–虚拟机–快照–快照管理器–点击刚刚的快照1–删除–是– 文件–新建或者打开–硬盘(以本人Win 10.64.3GL为例)–虚拟机设置–硬件– 硬盘(SATA)–磁盘实…

dji esdk开发(4)SDK互联互通(与云端进行小数据通信)

Edge SDK 提供接口可以通过上云 API 与和机场建立连接的云端服务器进行小数据交互,即向云端服务器发送自定义小数据与接收来自云端服务器的自定义小数据。 注意: 使用该接口发送和接收数据上下行通道最大带宽不应超过 0.5Mb/S。 1、云端低速通道介绍 使用自定义小数据通道需…

Rust编程(三)生命周期与异常处理

生命周期 生命周期,简而言之就是引用的有效作用域。在大多数时候,我们无需手动的声明生命周期,因为编译器可以自动进行推导。生命周期的主要作用是避免悬垂引用,它会导致程序引用了本不该引用的数据: {let r;{let x …

AMEYA360代理 | 江苏长晶科技FST2.0高性能 IGBT产品介绍

江苏长晶科技股份有限公司是一家专业从事半导体产品研发、生产和销售的企业。自2019年起,连续4年被中国半导体行业协会评为 “功率器件十强企业”。2021年开始自主研发有着“工业CPU”之称的IGBT,截至2023年Q3在家电/工业/新能源等行业实现8款产品市场应…

【tingsboard开源平台】环境准备和安装

文章目录 环境准备:1.安装JAVA2.安装maven环境3.安装nodeJS(16.15.1)4.安装git环境5.安装npm依赖关系6.放入文件fetched7.安装IDEA 环境准备: 1.安装JAVA 以安装java11为例,安装tingsboard需要的jdk 下载地址:https://www.oracle.com/java/technologi…

蓝桥杯基础练习汇总详细解析(三)——字母图形、01字符串、闰年判断(详细解题思路、代码实现、Python)

试题 基础练习 字母图形 提交此题 评测记录 资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子&#…

vs2022 关于Python项目无法识别中文的解决方法

这是针对于vs2022安装和使用教程(详细)-CSDN博客 Python项目无法识别中文的解决方法的文章 一、问题 1.输入代码 print("你好Hello world!") 2.启动,发现代码里有中文报错 二、解决方法 1.选择菜单栏里的工具->…

工业项目你还不知道什么是MES系统???

什么是MES 制造执行系统(MES)一种用于监控、控制和优化制造过程的软件系统。通过与企业资源计划(ERP)系统和自动化系统的集成,实现对生产过程的管理和监测,包括生产计划、生产过程和生产数据。最初源自20世…

ADAS多传感器后融合算法解析-上篇

ADAS多传感器后融合算法解析-上篇 附赠自动驾驶学习资料和量产经验:链接 ADAS系统是一种高自动化的软件应用,对系统的鲁棒性与可靠性要求很高,单一传感器往往存在一定限制,此时便需要多传感器融合。多传感器融合会带来如下收益&a…

Linux项目自动化构建工具make和makefile

前言 前面我们对yum、vim、gcc/g做了介绍,本期我们再来介绍一个好用的工具,就是make和makefile! 本期内容介绍 什么是make和makefile makefile文件内容的解释 make执行makefile的原理 我们想要的makefile 一、什么是make 和 makefile ? make是一条指令…