Linux上实现ssh免密通讯

Linux上实现ssh免密通讯

  • 1.SSH互信原理
  • 2.SSH所需的RPM包
  • 3.两台机器实现互信
  • 4.常见问题及处理

1.SSH互信原理

SSH(Secure Shell)是一种安全的传输协议,它能让Linux系统中的服务器和客户端之间进行安全可靠的通讯。
SSH使用加密的传输方式,以保证客户端和服务器之间的通讯安全。默认加密技术:rsa,加密位:2048位,将用户数据和控制指令加密,以保护数据不被第三方拦截。
SSH可以验证客户端的身份,确保只有授权的用户才能访问服务器。
在Linux系统中运行SSH,需要两个软件:一个是服务器端的软件,一个是客户端的软件。服务器端的软件叫做OpenSSH-Server,主要实现SSH服务器功能。它可以处理SSH消息并执行用户指令,以实现远程登录功能。客户端的软件叫做SSH-Client,会根据服务器端提供的信息将用户指令加密,并且可以认证服务器的身份。

2.SSH所需的RPM包

OpenSSH所需的RPM包有5个:

包名说明
openssh-7.4p1-21.el7.x86_64.rpmopenssh核心文件
openssh-askpass-7.4p1-21.el7.x86_64.rpm⽀持对话框窗⼝ 显示 X系统
openssh-clients-7.4p1-21.el7.x86_64.rpm客户端软件包
openssh-keycat-7.4p1-21.el7.x86_64.rpmopenssh公钥,私钥文件
openssh-server-7.4p1-21.el7.x86_64.rpm服务器端软件包

3.两台机器实现互信

  • 执行命令生成公用key(两台机器都要执行)
~]$ ssh-keygen -t rsa -P ''
~]$ cd ~/.ssh
~]$ cat id_rsa.pub >>authorized_keys
  • 想要免密登录哪台服务器,就将自己的id_rsa.pub内容,拷贝到想要登录服务器的authorized_keys文件中
  • 文件和目录权限设置

id_rsa:私钥,相当于‘锁’,文件权限:600(不能更改)
id_rsa_pub:公钥,相当于‘钥匙’,文件权限:644(不能更改)
authorized_keys:认证文件,记录别人(对端)给你的公钥,文件权限:600(不能更改)
known_hosts:指纹文件,记录首次SSH互信通讯时,对方的指纹信息,文件权限:600(不能更改)
用户目录权限:755或700,绝对不能是77x,否则无论你如何设置每次ssh通讯都要求你输入密码
.ssh目录权限:755或700

  • 进行ssh免密登录
    第一次ssh登录时还会要求输入密码,之后就免密了。

4.常见问题及处理

问题描述:ssh通讯时还是要求输入密码,返回日志信息为:Authentication refused:bad ownership or modes
处理方法:检查目录及文件权限,将不符合要求的权限按要求进行设置即可。

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

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

相关文章

iOS组件化 方案 实现

iOS组件化 组件化的原因现在流行的组件化方案方案一、url-block (基于 URL Router)方案二、protocol调用方式解读 方案三、target-action调用方式解读 gitHub代码链接参考 组件化的原因 模块间解耦模块重用提高团队协作开发效率单元测试 当项目App处于…

网络原理-四

一、续 当窗口大小为0,意味着缓冲区满了,此时发送方,就因该暂停发送,发送方会周期性的除法 " 窗口探测包 " ,并不携带载荷,这样的包对于业务不产生影响,只是为了触发ACK,一旦查询出来的结果是非0,缓冲区右有空间了,发送方就可以继续发送. 二、拥塞控制 要限制发送方…

一步一步写线程之十三队列间的消息通知

一、线程和分布式的通信 随着技术的不断发展,多线程和分布式通信愈发的普及。那么在这种场景下的如何进行数据的通信,便成为了一个非常典型的问题。无论是多线程还是分布式,其实其抽象出来的通信机制都是类似的。或者说换句话,多…

java检测字符串是否包含数字和字母

在Java中,要检测一个字符串是否同时包含数字和字母,我们可以使用正则表达式(regex)或者通过遍历字符串并检查每个字符来实现。以下是两种方法的详细代码示例: 1.方法一:使用正则表达式 import java.util.…

【AI+知识库问答】沉浸式体验了解 AI知识库问答fastGPT

之前写过一篇文章 【AI本地知识库】个人整理的几种常见本地知识库技术方案 , 由于当时主要是针对AI本地知识库, 所以没列fastGPT。 最近经常刷到fastGPT,这里单独水一篇。 FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,…

Github 2024-06-01 开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-01统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5Jupyter Notebook项目2TypeScript项目1Go项目1Shell项目1Lua项目1Kong:云原生API网关与AI能力 创建周期:3482 天开发语言:Lua协议…

如何确保绩效目标执行到位?

很多企业在实施绩效过程中,尽管制定好了绩效目标,但是没有执行下去,管理者将原因归咎于“员工低效”、“体制机制”等问题,那么在人力资源管理方面,企业应该如何确保制定的绩效目标执行到位?如何提高低效能…

云原生架构相关技术_4.服务网格

1.技术特点 服务网格(ServiceMesh)是分布式应用在微服务软件架构之上发展起来的新技术,旨在将那些微服务间的连接、安全、流量控制和可观测等通用功能下沉为平台基础设施,实现应用与平台基础设施的解耦。这个解耦意味着开发者无需…

React@16.x(14)context 举例 - Form 表单

目录 1,目标2,实现2.1,index.js2.2,context.js2.2,Form.Input2.3,Form.Button 3,使用 1,目标 上篇文章说到,context 上下文一般用于第3方组件库,因为使用场景…

Chisel入门——在windows下vscode搭建|部署Scala2.13.3开发环境|用Chisel点亮FPGA小灯等实验

文章目录 前言一、vscode搭建scala开发环境1.1 安装Scala官方插件1.2 创建hello_world.scala文件1.3 确认java的版本(博主使用的是1.8)1.4 下载Scala Windows版本的二进制文件1.5 配置环境变量1.6 交互模式测试一下1.7 vscode运行scala 二、windows安装sbt2.1 下载sbt2.2 设置环…

函数递归及具体例子(持续更新)

递归就是函数自己调用自己 求n的阶乘 n! n * (n - 1)! 直到n为1或者0的时候为止 举个例子 int Fun(int n) {if (n < 0){return 1;}else{return n * Fun(n - 1);} }int main() {int n 0;scanf("%d", &n);int ret Fun(n);printf("%d\n", ret…

安装Kubernetes v3 ----以docker的方式部署

以docker的方式部署 docker run -d \ --restartunless-stopped \ --namekuboard \ -p 80:80/tcp \ -p 10081:10081/tcp \ -e KUBOARD_ENDPOINT"http://192.168.136.55:80" \ -e KUBOARD_AGENT_SERVER_TCP_PORT"10081" \ -v /root/kuboard-data:/data \ e…

springboot中抽象类无法注入到ioc容器

1、背景 在写代码时&#xff0c;发现service接口有两个实现类&#xff0c;并且两个实现类中没有对类名重命名&#xff0c;属性注入的时候也没有使用byName或Qualifier&#xff0c;正确情况下会发生多实现报错的问题&#xff0c;以前对这个问题进行解析过。 2、调试过程 我想…

【设计模式】创建型-建造者模式

前言 在面向对象的软件开发中&#xff0c;构建复杂对象时经常会遇到许多挑战。一种常见的解决方案是使用设计模式&#xff0c;其中建造者模式是一个强大而灵活的选择。本文将深入探讨建造者模式的原理、结构、优点以及如何在实际项目中应用它。 一、复杂的对象 public class…

飞凌嵌入式FET3568/3568J-C核心板现已适配OpenHarmony4.1

近日&#xff0c;飞凌嵌入式为FET3568/3568J-C核心板适配了OpenHarmony4.1系统&#xff0c;新系统的加持使核心板在兼容性、稳定性与安全性等方面都得到进一步提升&#xff0c;不仅为FET3568/3568J-C核心板赋予了更强大的功能&#xff0c;也为开发者们提供了更加广阔的创新空间…

每日一练编程题:今天是【接口,多态】

设计程序 : 电脑类的属性USB接口数组 : 有3个usb插口电脑类的功能 : 通过接口插入外设 (u盘,麦克风,键盘等) addUSB(USB usb) { }开机 要求: 电脑开机前,先启动外设关机 要求: 电脑关机前,先关闭外设 外设类(u盘,麦克风,键盘等) 功能 : 启动 关闭 USB接口 定义usb设备的统一…

python多种方式 保留小数点位数(附Demo)

目录 前言1. 字符串格式2. round函数3. Decimal模块4. numpy库5. Demo 前言 在Python中&#xff0c;保留小数点后特定位数可以通过多种方式实现 以下是几种常见的方法&#xff0c;并附上相应的代码示例&#xff1a; 使用字符串格式化&#xff08;String Formatting&#xff…

IDE集成开发环境

IDE集成开发环境&#xff0c;全称“Integrated Development Environment” 介绍 定义&#xff1a; IDE是用于提供程序开发环境的应用程序&#xff0c;它集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。 组成部分&#xff1a; IDE通常包括代码编…

Ubuntu20.04 Mysql基本操作知识

#Mysql基本知识 运行环境Ubuntu20.04 1.开启mysql服务 sytemctl start mysql不然&#xff0c;命令行进入myql交互行提交命令后&#xff0c;就会出现4200错误。 2.显示所有数据库 SHOW DATABASES;注意复数s&#xff0c;毕竟很多数据库 3.新建数据库test CREATE DATABASE …

【学习笔记】计算机组成原理(九+十)

控制单元的功能 文章目录 控制单元的功能9.1 微操作命令的分析9.1.1 取指周期9.1.2 间址周期9.1.3 执行周期9.1.4 中断周期 9.2 控制单元的功能9.2.1 控制单元的外特性9.2.2 控制信号举例9.2.3 多级时序系统9.2.4 控制方式 控制单元的设计10.1 组合逻辑设计10.1.1 组合逻辑控制…