实验名称:SSH公钥认证

Git配置SSH公钥 而用户的 key 则是针对用户的,用户添加了 key 就对用户名下的仓库和用户参加了的仓库具有权限,一般而言,用户的key具有推送和拉取的权限,而仓库的 key 则只具有拉取权限。仓库的 sshkey 只针对仓库,且我们仅对仓库提供了部署公钥,即仓库下的公钥仅能拉取仓库,这通常用于生产服务器拉取仓库的代码。Gitee 提供了基于 SSH 协议的 Git 服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户 SSH 公钥。和仓库"只读"权限的 SSH Key 相比,账户的 SSH Key 同时具备。 阅读详情
一、实验的目的

加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密的算法和秘钥的管理。
通过这次实验让我们自身感受到加密技术的奥秘。

二、实验环境

本地主机 rh1: 192.168.32.3/24

远程主机 rh2:192.168.32.4/24

在 putty 上,以用户 yanji 登录 rh1。

三、实验过程 (写出屏幕上的输出,必要时作出评述或解释)

1. 创建密钥对

主机 rh1,用户 yanji。

$ zh

$ cd

$ mkdir -pm 700 .ssh

$ ssh-keygen -f .ssh/id_dsa -t dsa
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in .ssh/id_dsa.
Your public key has been saved in .ssh/id_dsa.pub.
The key fingerprint is:
aa:49:be:4a:ee:2b:f7:70:4c:a2:6a:15:7a:45:ba:28 yanji@localhost.localdomain


口令串 passphrase 为空。查看产生的密钥对:

私钥:

$ cd

$ cat .ssh/id_dsa
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQC0pqY6xPqJBW1SXTwKQcE/ZD7npMNPEVqsNBgv1XH+/r/lDPDF
93DeCAE1yBcYR9PbEPvCgFhA8cxkw+4YreT7iNccyhXTTN8qO+AM+30BQxbXY1IN
lNQp+A26vrwoqyFQdNZJxe/4Z4CmGwXe9njRwHSb1kEgfRHFylxh7QPSyQIVAK5n
ljpD9okz9uchflQQ30FiJ1AJAoGBAK0alIFqFHIal7evM0gD5PenJom3gAzYHxlR
mFfP4cOsEm7sM3iqhDfK/DorRvA2Yh4oL/dcdwWYJWuAsO4OfT6Pqow+pzgYAdL6
fTxgyeQZYkSlmx98ouRpGO8xlEBDsnNj81cstB7NCucK/cXmYauwTPAaqaw1AJft
XfwlRVZHAoGAKP70hPvYKWmmHGQ5GIh3RTLb6TKmc2iYBRy4TVs06cpGgjJEtx3E
eZlsx16xBorXAay8xBcM9Z23WkCte8N2g6vTIfaOCuONf+ACgnHSwUQjK85F3OqQ
1p7qzWEJcg0D61vZpb30XEwdxEkEoFgzUCkkMNx4lMqoe5thxKR2Rz8CFHLrYuxn
iOH4TmZ6waN+RaFIU/ny
-----END DSA PRIVATE KEY-----


公钥:

$ cat .ssh/id_dsa.pub
ssh-dss AAAAB3NzaC1kc3MAAACBALSmpjrE+okFbVJdPApBwT9kPuekw08RWqw0GC/Vcf7+v+UM8MX3cN4IATXIFxhH09sQ+8KAWEDxzGTD7hit5PuI1xzKFdNM3yo74Az7fQFDFtdjUg2U1Cn4Dbq+vCirIVB01knF7/hngKYbBd72eNHAdJvWQSB9EcXKXGHtA9LJAAAAFQCuZ5Y6Q/aJM/bnIX5UEN9BYidQCQAAAIEArRqUgWoUchqXt68zSAPk96cmibeADNgfGVGYV8/hw6wSbuwzeKqEN8r8OitG8DZiHigv91x3BZgla4Cw7g59Po+qjD6nOBgB0vp9PGDJ5BliRKWbH3yi5GkY7zGUQEOyc2PzVyy0Hs0K5wr9xeZhq7BM8BqprDUAl+1d/CVFVkcAAACAKP70hPvYKWmmHGQ5GIh3RTLb6TKmc2iYBRy4TVs06cpGgjJEtx3EeZlsx16xBorXAay8xBcM9Z23WkCte8N2g6vTIfaOCuONf+ACgnHSwUQjK85F3OqQ1p7qzWEJcg0D61vZpb30XEwdxEkEoFgzUCkkMNx4lMqoe5thxKR2Rz8= yanji@localhost.localdomain


2. 上传公钥到 rh2

主机 rh1,用户 yanji。

$ cd

$ scp .ssh/id_dsa.pub root@192.168.32.4:.
root@192.168.32.4's password:
id_dsa.pub           100% |*****************************|   617       00:00
如果这一步不成功,可能需要在192.168.32.4上关闭防火墙,关闭语句为service iptables stop

3. 远程登录rh2
$主机rh1,用户yanji。
$ssh root@192.168.32.4
...
#
[yanji@localhost yanji]$ ssh root@192.168.32.4
root@192.168.32.4's password:
Last login: Sun Apr  5 09:32:49 2015 from 192.168.32.1
[root@localhost root]#
#现在到了 rh2。

4. 添加 yanji 的公钥到授权密钥文件

# mkdir -pm 600 .ssh

# cat id_dsa.pub >> .ssh/authorized_keys

# chmod 600 .ssh/authorized_keys

# exit

Connection to 192.168.32.4 closed.
[yanji@localhost yanji]$

现在回到了 rh1。

5. 免密码远程登录

主机 rh1,用户 yanji。

远程登录 rh2,创建文件 poem1 后退出。

$ ssh root@192.168.32.4

# zh

# cat > poem1

唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息

# exit

Connection to 192.168.32.4 closed.
[yanji@localhost yanji]$


现在又回到了 rh1。

6. 远程复制

主机 rh1,用户 yanji。

$ ls

$ scp root@192.168.32.4:poem1 .
poem1                100% |*****************************|    67       00:00
从rh2服务器中复制文件到rh1本地

$ ls
poem1 #我们看到了我们刚刚在远程登陆rh2时在rh2中创建的文件
$ cat poem1
[yanji@localhost yanji]$ cat poem1
唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息


6. 远程操作 (远程执行命令)

主机 rh1,用户 yanji。

$ ssh root@192.168.32.4 ls -l
total 40
-rw-r--r--    1 root     root         1837 Mar 16 19:15 anaconda-ks.cfg
-rw-r--r--    1 root     root          617 Apr  5 09:35 id_dsa.pub
-rw-r--r--    1 root     root        19564 Mar 16 19:15 install.log
-rw-r--r--    1 root     root         4269 Mar 16 19:15 install.log.syslog
-rw-r--r--    1 root     root           67 Apr  5 09:45 poem1
远程登陆查看rh2的文件

$ ssh root@192.168.32.4 "echo '(木兰诗片段)' >> poem1"

$ ssh root@192.168.32.4 "cat poem1"
唧唧复唧唧
木兰当户织
不闻机杼声
惟闻女叹息
(木兰诗片段)


四、实验的体会

这次实验,花了很长时间,虽然最终发现实验挺简单的,但是就是上课走神了,所以没弄明白。后来经常自己花时间去做这个实验,刚开始是迷迷糊糊的,后来就突然明白了这个加密技术和远程登陆服务器方法的理解。
Ansible的密码认证和公钥认证 ansible密码认证和公钥认证最详细讲解配置,适合自学 阅读详情

相关推荐

SSH公钥认证失败排查指南:从权限配置到服务端调试

SSH(Secure Shell)是一种广泛用于远程登录和加密数据传输的网络协议,其核心安全机制之一是基于非对称加密的公钥认证。该认证方式通过客户端持有私钥、服务端存储公钥的密钥对验证原理,实现了无需密码的自动化安全登录,在运维自动化、持续集成和服务器管理中具有重要技术价值。然而,在实际应用场景中,开发者常遇到配置了公钥却仍需输入密码的问题,这通常源于**文件权限**设置不当或**服务端配置**错误。本文聚焦SSH公钥认证流程,系统解析从客户端密钥指定、服务端authorized_keys文件权限检查到ss

weixin_29741447的博客 228

Linux创建SSH密钥、设置密钥登录、密钥登录原理

执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示。输入密钥的密码的(如下图,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。cd到Linux用户目录下的.ssh目录下,root用户是/root/.ssh,普通用户是/home/用户名/.ssh;把公钥拷贝到需要登录的远程服务器上,这里可以使用ssh-copy-id自动完成。一般的密码方式登录,容易有密码被暴力破解的问题。

qq_37432174的博客 4503

STM32F4驱动海康工业相机实战:从PWM信号到精准触发拍照(附完整代码)

本文详细介绍了如何使用STM32F4开发板驱动海康工业相机,实现PWM信号精准触发拍照的完整方案。从硬件连接到PWM信号生成,再到相机触发配置与延迟补偿,提供了实战经验和完整代码,帮助开发者解决工业相机硬件触发中的关键问题。

weixin_33716941的博客 698

SSH秘钥生成和使用

1.linux下生成ssh秘钥 [root@localhost ~]# ssh-keygen -t rsa #生成密钥对,-t代表类型,有RSA和DSA两种 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): #密钥文件默认存放位置,按Enter即可 Created directory ‘/root/.ssh’. Enter passphrase (e

疾风行的博客 600

分布式光纤传感(DFOS)DTS/DAS/DSS 三合一:10公里管线监测实战与数据解读

本文详细介绍了分布式光纤传感(DFOS)技术在10公里管线监测中的实战应用,通过DTS(温度)、DAS(振动)、DSS(应变)三合一系统,实现对管线健康状态的立体感知。文章涵盖工程部署、数据采集、多物理量数据融合及噪声抑制等关键技术,展示了如何通过一根光纤完成复杂监测任务,显著提升管线安全性和维护效率。

weixin_29168153的博客 315

Unity资源逆向解析:从APK到AssetStudio的完整实战

本文详细介绍了Unity资源逆向解析的全流程,从APK解包到使用AssetStudio深度解析Unity游戏资源。通过实战案例演示如何提取《植物大战僵尸》等游戏的素材,包括贴图、音频和3D模型,帮助开发者掌握Unity游戏逆向工程的核心技术。

weixin_30664051的博客 475

SSH密钥登录

注:此处特别要注意文件名称不能错误(包括大小写), 存放公钥的文件名为: authorized_keys。多个用户多需要登录linux,每个用户都需要密钥,则可以只用上面的追加命令直接将多个用户的公钥直接追加进去即可。在创建的过程中会提示输入密码,在次不用输入,直接回车即可,创建的密钥对默认放当前登录用户的家目录下的.ssh目录中。

cz88888888666的博客 745

招财牛猫|股社区|猫笔刀公众号历史文章13-21年(含评论),投资内容 收藏学习

招财大牛猫|股社区|猫笔刀公主号历史文章13-21年(含评论)

ZhaoCaiDaNiuMao的博客 7239

【linux】linux设置ssh密钥登录详细教程,附Mobaxterm和pycharm ssh python解释器配置教程

我们通常使用SSH 客户端来远程使用 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。但是即使是将端口设置为22之外的端口也容易泄露。为了保证服务器安全,此时希望使用密钥方式登录。而且使用秘钥登录能够避免每次登录时反复输入账户密码。

weixin_43693967的博客 2万+

从‘最长白列’到‘八邻域’:智能车图像巡线算法怎么选?我的踩坑经验分享

本文深入探讨了全国大学生智能汽车竞赛中图像巡线算法的选型与优化,对比了最长白列法、八邻域算法等五种主流方法的性能与适用场景。通过实战数据和代码示例,分析了各算法在直道、弯道及特殊赛道元素中的表现,并提供了内存优化、参数调整等实用技巧,帮助参赛团队提升智能车的巡线精度与效率。

weixin_30374009的博客 641

华为云计算——FusionCompute创建虚拟机

华为云计算——FusionCompute创建虚拟机

jks212454的博客 3676

如何生成并使用SSH密钥对

SSH远程免密访问需要SSH密钥对,而ssh-keygen是一个常用的命令行工具,用于生成 SSH 密钥对(公钥和私钥)。私钥文件id_rsa存储在本地或用于远程连接的服务器上;公钥内容存储于需要SSH访问的服务器上。

qq_36946044的博客 5865

Dify 第 13 篇 Dify 工作流 详解

工作流通过将复杂任务分解为节点降低复杂度,提升LLM应用的性能和稳定性。Dify工作流分为两类:Chatflow面向对话场景(如客服),支持多轮对话;Workflow面向批处理场景(如翻译),提供逻辑节点实现自动化。核心概念包括节点、变量(系统/会话/环境变量)及应用类型差异:Chatflow支持中间输出和对话历史,Workflow仅支持结束节点输出。系统变量以"sys"开头,用于全局数据传递,不同应用类型变量不同,如Chatflow的sys.query存储用户输入,Workflow的s

甘蓝的专栏 3249

Linux SSH免密登录实验:基于Xshell的公钥认证机制

本文介绍了通过Xshell配置SSH密钥认证实现免密登录Linux服务器的完整流程。实验首先搭建OpenEuler环境并关闭防火墙和SELinux,重点演示了密钥对的生成与配置:使用Xshell工具生成RSA密钥对,将公钥添加至服务器的authorized_keys文件,并配置Xshell会话使用私钥认证。实验结果验证了密钥认证相比密码登录的优势,包括更高的安全性、自动化友好性和操作便捷性。文中特别强调了.ssh目录权限设置和私钥保管的重要性,为远程服务器安全管理提供了实用方案。

477

【花雕学编程】Arduino ESP32 SPP 之使用Servo库控制360度舵机正反转

使用 Servo 库控制 360 度舵机的正反转是 Arduino ESP32 SPP 应用中的一个重要案例,具有简易控制接口、灵活速度调节和高兼容性等特点,广泛应用于机器人、自动化装置和动态艺术等领域。在第三个案例中,使用map()函数将用户输入的速度参数(范围0-100)映射到舵机控制的角度(0-180),使得用户能够以更人性化的方式控制舵机速度。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。

雕爷学编程 1469

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SSH 公钥私钥

一、简介 一、SSH key简介 要了解SSH key简介,首先得熟悉SSH,SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。 通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa) 1、什么是公钥登录 公钥登录,很多时候也说public key认证,公钥登录的原理:首先用户

Zen_y的专栏 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

实验一:SSH实验

面对越来越复杂的业务需求及网络架构,网络自动化开始不断普及和演进以使得运维高效敏捷。目前,SSH登录设备是工程师最为熟悉的远程管理方法,因此,工程师有必要学习及使用一种自动化工具去实现SSH远程登录设备,模拟运维人员人机交互等,自动传输文件等功能。 本实验中我将使用Python工具,调用Python中的Paramiko模块编写自动化脚本实现基于SSH的初级网络自动化动作。SSH(Secure Shell,安全外壳协议)是一种用于在不安全网络上进行安全远程登录和实现其他安全网络服务的协议,通过加密和认证机制实

CMU2018的博客 2051

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

基于ensp的SSH远程管理实验

在上一个实验中Telnet协议需要远程管理用户通过**密码**来认证身份,但在使用Telnet协议时,设备在通信的过程中传输的信息全部都是明文的。面对抓包时,通信的过程可以被扒得一览无余,包括用户密码、配置参数等,而要想保护通信设备之间传输的数据,必须对这些数据进行加密。SSH的应运而生。

WU20121212的博客 4966

Git生成公钥 bash:ssh-keygen command not found

公钥是CODE识别您的用户身份的一种认证方式,通过公钥,您可以将本地git项目与CODE建立联系,然后您就可以很方便的将本地代码上传到CODE,或者将CODE代码下载到本地了。 以下介绍生成公钥和管理公钥的方法。如果你是在windows系统下使用,需要先安装git的windows客户端msysgit , 然后运行 Git Bash, 在弹出的终端中输入下面提示的代码。 1. 生成公钥 首先检查本机公钥: $ cd ~/.ssh 如果提示:No such file or d...

JuncaiLiao的专栏 1万+

在 GitHub 上设置 SSH 公钥连接

GitHub 提供了 SSH 密钥的认证方式,这使得与您的 GitHub 仓库进行安全通信更加方便。通过设置 SSH 公钥,您可以在不需要输入用户名和密码的情况下与 GitHub 仓库进行通信。以下是如何在 GitHub 上设置 SSH 公钥的步骤

阿水的博客 3106

linux查看ssh公钥,SSH公钥(public key)验证

安全的设置服务器 登陆,之前用用户名和密码登陆服务器 这样不安全,用SSH公钥(public key)验证这个办法能很好的解决 登陆服务器 和安全登陆服务器的特点:目标: Client 免输密码ssh登录ServerSSH支持多种登录验证方式,我们默认使用的是键盘交互方式(keyboard-interactive),也就是手工输入密码的那种。这里我们要改成公钥(publickey)验证方式,并...

weixin_36316642的博客 1万+

本地环境通过 SSH 协议访问 GitHub 上的仓库时,SSH 公钥认证失败,配置 Git SSH 密钥

本文解决了npm安装报错问题,核心是SSH公钥认证失败导致Git无法访问GitHub仓库。解决方案包括:1)检查现有SSH密钥;2)生成新密钥;3)复制公钥;4)将公钥添加到GitHub账号;5)验证SSH连接;6)重新执行安装命令。通过正确配置SSH密钥,确保Git能通过认证访问仓库,最终完成npm安装。

jylsrnzb的博客 1452

SSH公钥免密登录

参考链接:https://www.cxyzjd.com/article/weixin_40313940/105866897 Step1. 使用SSH在本地生成密钥对 windows terminal运行: ssh-keygen -t rsa 生成密钥,保存在当前用户的 .ssh 文件夹中:路径 C:\Users\你的用户名\.ssh 得到的文件中 id_rsa.pub 就是与私钥 id_rsa 对应的公钥。 Step2. 填写相关配置文件 vscode中,ctrl+shift+p 打开设置 Remote

blainet的博客 4779

Git:SSH 公钥

Git:SSH 公钥

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1243

【SSH 密钥认证】

两类公钥别搞混:服务器身份验证(客户端验服务器,存在known_hosts)、用户身份验证(服务器验用户,存在authorized_keys);免密登录核心规则:谁想免密登录对方,就把自己的公钥放到对方的里;安全红线:私钥必须本地保管(权限600),服务器端.ssh权限必须严格控制(600/700),严禁泄露私钥。

Nsl_17的博客 1254

Xshell配置 ssh免密登录 密钥公钥

ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法。

m0_68517939的博客 6033
上一篇: LAN 路由
下一篇: 实验名称:建立名称服务器
jamin_tan007
博客等级 码龄12年 1粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值