SSH 公钥私钥

article/2025/9/15 22:41:02

一、简介

一、SSH key简介
要了解SSH key简介,首先得熟悉SSH,SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。

通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa)

1、什么是公钥登录

公钥登录,很多时候也说public key认证,公钥登录的原理:首先用户将自己的公钥存储在需要登录的远程机器上面,然后登录的时候,远程主机会向用户发送一段随机字符串,接着用户使用自己的私钥加密字符串,并发给远程主机。最后,远程主机使用存储的公钥进行解密,若解密成功,则说明用户可信,准许登录,不在提示输入密码。
这里写图片描述
备注:

1、服务端会将客户端发的公钥写入到~/.ssh/authorized_keys 文件末尾。

2、公钥和私钥在客户端(登录端)生成

2.什么是口令登录

口令登录,即登录的时候需要输入登录密码。

1.客户端向服务器发出请求

2.服务器将自己的公钥返回给客户端;

3.客户端用服务器的公钥加密登录信息, 再将信息发送给服务器;

4.服务器接收到客户端传送的登录信息, 用自己的私钥解码, 如果结果正确, 则同意登录, 建立起连接。



备注:

1、公钥和私钥在服务端生成

二、生成公钥和私钥

ssh-keygen命令,可以生成公钥和私钥,默认生成到用户的家目录下的.ssh文件夹里面    ssh-keygen -t rsa

私钥默认会被保存在 ~/.ssh/id_rsa

公钥默认会被保存在 ~/.ssh/id_rsa.pub

命令的格式如下:


ssh-keygen -f fileName -t rsa -C "dequan@example.com"
  • 1
  • 2

参数解析:

-f 指定要生成文件的文件名称

-t 设置认定方式,值为rsa,即非对称加密;或dsa,即数字签名和认证

-c 指定公钥中的备注信息

三、使用公钥登录的案例

使用ssh key的目的是使得两台机器之间建立互信,从其中一台登陆到另一台时不需要密码。具体方式如下:

1、先在主机A上创建密钥对

ssh-keygen -t rsa

这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub

2、把主机A的公钥放在主机B上

scp -r /root/.ssh/id_rsa.pub 192.168.31.147:/root/.ssh/authorized_keys

这里解释下scp命令:

不同的Linux之间copy文件常用有3种方法:

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

第三种就是利用scp命令来进行文件复制。

scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

3、此时用A登陆B就不需要密码了

ssh B_ip

同理可应用于B 登陆A

 

五、SSH详解

1、SSH 的结构

SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。

服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些差异。

一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有 TCP/IP 端口和 X11 连接。

SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。

2、SSH 的启动与停止

首先确保ssh服务已经安装

检查服务是否已经启动 
ps -e | grep sshd

启动、停止、重启服务 
service sshd start     开启ssh服务 
service sshd stop      停止ssh服务 
service sshd restart    重启ssh服务 
或者使用带有路径的脚本: 
/etc/init.d/sshd start 
/etc/init.d/sshd stop 
/etc/init.d/restart

配置ssh-server,配置文件位于/etc/ssh/sshd_config,默认端口为22,为了安全,一般自定义为其他端口,然后重启


http://chatgpt.dhexx.cn/article/kglgkZsK.shtml

相关文章

最全SSH命令 - 11种用法

SSH命令 1.使用ssh连接远程主机2.ssh连接到其他端口3.使用ssh在远程主机执行一条命令并显示到本地, 然后继续本地工作4.在远程主机运行一个图形界面的程序5.如何配置 SSH6.构建 ssh 密钥对7.查看是否已经添加了对应主机的密钥8.删除主机密钥9.绑定源地址10.对所有数据请求压缩1…

什么是SSH

一、什么是远程连接服务器 1、远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。 2、远程连接服务器的功能 1&…

Ubuntu 怎么开启SSH

这里使用虚拟机演示,ubuntu版本 22.10 1、安装ubuntu时启用SSH 在安装ubuntu时会提示是否需要安装 OpenSSH server 如果在这里勾选安装后,则不需要在使用命令进行安装 OpenSSH server 2、使用命令安装启用 SSH 01、切换 root 用户,如果未设…

SSH是什么??

首先,SSH是strutsspringhibernate的一个集成框架,它不是一个框架,而是把多个框架紧密的结合在一起,用于构建灵活的多层Web应用程序。然后详细说一下组成SSH的这三个框架: Struts 1.什么是Struts?&#xff…

linux之ssh命令详解

ssh是什么呢?👉百科上是这么说的 随便插张图 简单来说,在linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器…

什么是SSH 以及常见的ssh 功能

一、SSH SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。这里只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH,会用到另一…

ssh服务介绍

阅读目录 1.1 SSH服务协议说明1.2 SSH加密技术说明1.3 ssh知识要点:1.4 SSH服务软件详细说明1.5 ssh服务配置文件说明:1.6 ssh服务认证类型1.7 基于秘钥登录配置1.8 telnet服务简介1.9 进行免密码scp传输测试1.10 使用sftp进行基于密钥的文件传输1.11 ss…

SSH 详解(实践及应用)

目录 1.SSH 基本知识 2.SSH 客户端 2.1 安装 2.2 基本用法 2.3 命令行配置项 2.4 配置文件 3 SSH 密钥 3.1 密钥生成 3.2 公钥上传 4 SSH 代理 4.1 动态转发 4.2 本地转发 4.3 远程转发 4.4 实际运用 5 SCP命令 5.1 本地复制到远程 5.2 远程复制到本地 5.3 两…

H3C双向NAT典型组网配置案例

组网说明: 本案例采用H3C HCL模拟器来模拟实现双向NAT的组网,由于模拟器和本物理机的局限性,因此采用模拟器的S5820交换机开启WEB功能模拟成为WEB服务器。在该网络拓扑图中,内网和外网已经有了明确的标识,某局点申请了…

基于华三HCL模拟器IPSec VPN组网与配置

一、实验原理 IPsec在互联网中提供端到端的数据报通信安全,通过加密和认证方式保护IP数据报及其封装的数据。IPsec是一个框架协议,包括AH、ESP、SA、IKE等协议。IPsec可以采用直接传输和隧道封装两种模式工作,在通过互联网承载的站点间VPN中…

华为IPSec VPN的配置

目录 概念 阶段一 阶段二 IPSec的配置实验 先进行基配置,保证路由可达 配置阶段一 配置ike提案 配置ike邻居 配置阶段二 定义感兴趣流 把ipsec策略应用到接口 结果测试 概念 IPSec是一个框架,它不是具体指某个协议,而是定义了一个框…

【组网工程】cisco packet tracer 路由器组网

验证性 | 设计性 路由器组网 正文开始Assassin目录: 验证性 | 设计性 路由器组网1. 静态路由和默认路由配置:1.1 配置ip地址 | ping:1.2 配置静态路由 | 默认路由: 2. RIP路由协议配置:2.1 配置ip地址 | ping&#xf…

MPLS 网络技术 — 组网方案

目录 文章目录 目录单域 MP-BGP MPLS VPN基本组网方案Hub & Spoke 组网方案Extranet 组网方案跨域 MP-BGP MPLS VPNInter-Provider Backbones Option AInter-Provider Backbones Option BInter-Provider Backbones Option C单域 MP-BGP MPLS VPN 单域 MP-BGP MPLS VPN 在一…

常见组网方式

随着家庭上网场景的不断增多,客厅、书房、卧室渐渐都需要接入网络,单独路由器Wi-Fi已无法全覆盖,而多台路由器组网技术的出现,极大改善了家庭的上网体验。经过多年的演进,从传统的中继组网、ACAP组网、电力猫组网&…

综合组网实例配置 双出口双墙主备+三层核心VRRP+MSTP+NAT+NAT SERVER+AC+IPsec+广域网PPPOE+专线

一、 组网需求 企业的两台FW的业务接口都工作在三层,使用路由模式进行部署,上下行分别连接交换机。上行交换机连接路由器,下行连接核心交换机。路由器连接二个运营商的接入点,运营商其一为企业提供专线业务,其分配的IP地址为202.1…

Keepalived高性能集群软件详解

一、高可用集群HA 1、高可用集群简介 高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断地提供服务,把因为软件,硬件,人为造成的故障对业务的影响降低到最小程度。总而言之就…

了解集群、集群的分类、常用的集群软硬件及选型介绍(内附详细图解)

Table of Contents 一、集群简介 二、集群的七大优点 三、集群的分类 四、常用的集群软硬件及选型介绍 一、集群简介 集群就是一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点&…

高可用 - 01 闲聊高性能集群

文章目录 什么是集群集群的特点与功能1. 高可用性与可扩展性2. 负载均衡与错误恢复3. 心跳监测与漂移IP地址 集群的分类1. 高可用集群高可用的概念常见的HA集群双机冷备双机热备双机互备多机互备 高可用集群软件 2. 负载均衡集群3. 分布式计算集群 HA集群中的相关术语1&#xf…

集群管理

集群管理 应用集群中,我们常常需要让每一个机器知道集群中(或依赖的其他某一个集群)哪些机器是活着的,并且在集群机器因为宕机,网络断链等原因能够不在人工介入的情况下迅速通知到每一个机器。 Zookeeper同样很容易实…

CentOS8系统安装LSF集群管理软件

一、什么是LSF? LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。常用的分布式集群管理系统软件有PBS、SLURM、LSF。 二、安装环境(虚拟机) 主机…