手把手图文并茂教你创建并使用私钥privateKey登录 SSH 服务器

这篇具有很好参考价值的文章主要介绍了手把手图文并茂教你创建并使用私钥privateKey登录 SSH 服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要使用privateKey登录 SSH 服务器?

我们平时登录Linux服务器的时候,经常是使用用户名和密码进行登录,但是如果我们要使用它进行代码连接或者其他操作的情况下,我们需要一种更为安全的方式进行登录,就需要privateKey登录 SSH 服务器

SSH 登录简介

  • RSA 非对称加密
  • 在 SSH 登录时可以使用 RSA 密钥登录
  • 使用工具ssh-keygen可以创建 SSH 密钥

如何创建?

服务器生成密钥对(ubuntu)

进入 Linux 系统目录下 .ssh 目录
cd ~/.ssh/
此时看到报错-bash: cd: /root/.ssh/: 没有那个文件或目录
[root@localhost ~]# cd ~/.ssh/
-bash: cd: /root/.ssh/: 没有那个文件或目录
解决报错

执行

ssh localhost

ssh 添加私钥,面向全栈,服务器,ssh,linux

报错解决,大功告成~

ssh 添加私钥,面向全栈,服务器,ssh,linux

执行 ls 命令,我们可以看到此时目录

ssh 添加私钥,面向全栈,服务器,ssh,linux

执行 ssh-keygen 创建密钥对

执行密钥生成命令,回车~
执行过程中可以选择是否输入秘钥密码,也可以选择不需要密码哦~直接回车

ssh-keygen -t rsa

ssh 添加私钥,面向全栈,服务器,ssh,linux

命令生成之后,查看一下

ssh 添加私钥,面向全栈,服务器,ssh,linux

id_rsa  id_rsa.pub  known_hosts

SSH 服务器配置(ubuntu)

我们发现目录下没有 authorized_keys,我们创建一个

touch authorized_keys
将 id_rsa.pub 文件的内容输出到 authorized_keys
cat id_rsa.pub >> authorized_keys 

ssh 添加私钥,面向全栈,服务器,ssh,linux

远程访问测试

以windows电脑为例,我们访问一下我们是否可以通过privateKey登录 SSH 服务器

将 id_rsa 私钥拷贝到 Windows电脑上面,然后进入私钥所在目录,执行命令:

ssh -i .\id_rsa  root@192.168.33.129
再次发现异常,The authenticity of host ‘XXX’ can’t be established.
PS C:\Users\Administrator\Desktop\fsdownload> ssh -i .\id_rsa  root@192.168.33.129
The authenticity of host '192.168.33.129 (192.168.33.129)' can't be established.
ECDSA key fingerprint is SHA256:dw6kUF1VDfJ9WXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.33.129' (ECDSA) to the list of known hosts.
分析

原因在于每次远程登录Linux的时候,Linux都要检查一下,当前访问的计算机公钥是不是在~/.ssh/know_hosts中,这个文件时OpenSSH记录的。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的攻击。SSH对主机的public_key的检查等级是根据StrictHostKeyChecking变量来配置的。默认情况下,StrictHostKeyChecking=ask。简单所下它的三种配置值:

  • 1.StrictHostKeyChecking=no 最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
  • 2.StrictHostKeyChecking=ask 默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。
  • 3.StrictHostKeyChecking=yes 最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。
解决

我们用下面的命令登录

ssh -i .\id_rsa -o StrictHostKeyChecking=no root@192.168.33.129
还有一种彻底去掉SSH主机验证的方法,就是修改/etc/ssh/ssh_config配置文件,在ssh_config配置文件中添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

大功告成~

ssh 添加私钥,面向全栈,服务器,ssh,linux

今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

ssh 添加私钥,面向全栈,服务器,ssh,linux文章来源地址https://www.toymoban.com/news/detail-613747.html

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

到了这里,关于手把手图文并茂教你创建并使用私钥privateKey登录 SSH 服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图文结合手把手教你创建SpringCloud项目

    前言 Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务注册、服务发现、网关、路由、链路追踪等。Spring Cloud 并不是重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。也

    2024年04月25日
    浏览(46)
  • 手把手教你安装ubantu22(详细图文)

    安装平台:VMware® Workstation 16 Pro iso镜像:ubuntu-22.04.1-desktop-amd64.iso         下载连接: Ubuntu 22.04.1 LTS (Jammy Jellyfish) https://www.releases.ubuntu.com/22.04/ 第一步:点击“创建新的虚拟机” 第二步: 选“自定义(高级)”,点“下一步”  第三步:默认就可以,点“下一步”  第

    2024年02月04日
    浏览(53)
  • 手把手教你在Docker中安装Nginx(图文超详细)

    本文介绍如何在 Windows Docker Desktop 平台安装 Nginx 容器(Linux 平台同样适用),并详细讲解如何配置 Nginx ,实现 HTTP 请求在后端服务器集群间的负载均衡。 访问 dockerhub 查找所需的镜像版本: 这里我选择 1.24.0 版,执行如下命令: 命令执行结果: 随后,我们第一次运行镜像,

    2024年03月16日
    浏览(57)
  • 从零开始Hadoop安装和配置,图文手把手教你,定位错误(已部署成功)

    既然你选择自己配置了,那么我想想和你聊一聊,相信我这对你整体配置Hadoop流程会有一个跟全面的了解,我们抛开繁杂的学术名词,其实就是要实现我一个任务可以在多个电脑上跑的过程(分散算力),那交给我们应该如果来搞?我们是不是要对我们的虚拟机先分配地址(

    2024年02月06日
    浏览(46)
  • Swagger:手把手教你从0开始配置idea中swagger,全步骤配图文版。

    Swagger 是一组用于设计、构建、文档化和使用 RESTful Web 服务的开源工具和框架。它允许开发团队设计、构建和测试 API,并提供易于理解的文档,以便开发人员和消费者能够快速了解和使用 API。Swagger 通常与各种编程语言和框架一起使用,以简化 API 的开发和维护过程。 1.文件

    2024年02月04日
    浏览(43)
  • 手把手教你创建VS离线安装包

    没有现成的iso 以前的VS一个ISO搞定安装 但现在VS都是在线安装模式了,有些工作机 处于无法联网状态,又需要安装VS时需要离线包 其实现在VS提供了离线安装包的命令行创建方式,下面以VS2019社区版为例,VS2022也是一样操作 下载VS Community 安装exe点击这里,假设放在D盘 打开

    2024年02月05日
    浏览(38)
  • 手把手教你微软的Visual Studio 2022社区版编程工具安装和使用(图文详解)

    我是荔园微风,作为一名在IT界整整25年的老兵,听闻微软的Visual Studio开发工具已升到2022版,决定来尝试一下,不知道Visual Studio 2022对C/C++现行最新的版本支持力度如何,急于要用一用。于是便有了本文及后面一系列文章。对于初学C/C++的同学们,可以跟随着我的文章,一起用

    2024年02月06日
    浏览(34)
  • 手把手教你玩物联网(二)---onenet云平台产品创建

    《手把手教你玩物联网》系列推文将介绍使用RT-Thread----小而美的物联网操作系统,制作一个室内温湿度数据采集,并实现终端采集数据上传物联网云平台onenet,实现云端远程数据监控功能。       上期介绍了ESP8266的使用(手把手教你玩物联网(一)---ESP8266软件包的使用),今

    2024年02月07日
    浏览(42)
  • 手把手教你解决微软Visual Studio 2022的scanf()返回值被忽略问题(图文详解)

    大家好,我是荔园微风,作为一名在IT界整整25年的老兵,听闻广大初学者在学习Visual Studio 2022时,刚上手用其写C/C++程序时,总是会被一个问题困惑,这个问题叫: scanf()返回值被忽略。我们一起来看一下。 比如写了一个计算圆周的程序,结果还没运行, scanf()下方就出现绿

    2024年02月07日
    浏览(34)
  • 超详细!手把手教你创建win10虚拟机及其如何配置!!

    实验一 VMware 虚拟机环境搭建 (一) 实验目的 熟悉Mware软件的应用,掌握使用虚拟机软件创建 Windows、Linux等操作系统的方法,学习虚拟机的基本配置和功能应用,为后续的取证实验做好基础环境配置。 (二) 实验类型 演示型、基础实验 (三) 实验原理 Windows操作系统:Windows XP、

    2023年04月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包