如何在 CentOS 8 上设置 SSH 密钥

安全外壳 (SSH) 是一种加密网络协议,专为客户端和服务器之间的安全连接而设计。

两种最流行的 SSH 身份验证机制是基于密码的身份验证和基于公钥的身份验证。使用 SSH 密钥通常比传统的密码身份验证更安全、更方便。

本文介绍如何在 CentOS 8 系统上生成 SSH 密钥。我们还将向您展示如何设置基于 SSH 密钥的身份验证,并在不输入密码的情况下连接到远程 Linux 服务器。

在 CentOS 上创建 SSH 密钥

CentOS 客户端计算机上已有 SSH 密钥对。如果要生成新的密钥对,旧密钥对将被覆盖。

运行以下ls命令以检查密钥文件是否存在:

ls -l ~/.ssh/id_*.pub

如果命令的输出返回类似 ,或者这意味着用户没有 SSH 密钥,您可以继续执行下一步并生成 SSH 密钥对。No such file or directoryno matches found

否则,如果您有 SSH 密钥对,则可以使用这些密钥或备份旧密钥并生成新密钥。

要生成新的 4096 位 SSH 密钥对,并生成电子邮件地址作为注释,请运行:

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

系统将提示您指定文件名:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

按 以接受默认文件位置和文件名。Enter

接下来,系统会要求您键入安全的密码短语。是否要使用密码,由您决定。密码短语将增加额外的安全层。如果你不想使用密码,只需按。Enter

Enter passphrase (empty for no passphrase):

整个交互如下所示:

generate-a-new-ssh-key-pair_hucd4b461c9f6f8f885a318a0b39053110_66680_480x0_resize_q75_lanczos

要验证新的 SSH 密钥对是否生成,请键入:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

就是这样。您已成功在 CentOS 客户端计算机上生成 SSH 密钥对。

将公钥复制到服务器

现在,SSH 密钥对已生成,下一步是将公钥复制到要管理的服务器。

将公钥复制到远程服务器的最简单和推荐的方法是使用 实用程序。在本地机器终端类型上:ssh-copy-id

ssh-copy-id remote_username@server_ip_address

命令将要求您输入密码:remote_username

remote_username@server_ip_address's password:

用户经过身份验证后,公钥文件 () 的内容将追加到远程用户文件中,连接将关闭。~/.ssh/id_rsa.pub~/.ssh/authorized_keys

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

如果本地计算机上不可用,请使用以下命令复制公钥:ssh-copy-id

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

使用 SSH 密钥登录到服务器

完成上述步骤后,您应该能够登录到远程服务器,而无需提示输入密码。

若要验证它,请尝试通过 SSH 登录到您的服务器:

ssh remote_username@server_ip_address

如果您尚未为私钥设置密码,您将立即登录。否则,系统会要求您输入密码短语。

禁用 SSH 密码身份验证

若要向远程服务器添加额外的安全层,可以禁用 SSH 密码身份验证。

在继续之前,请确保您可以登录到您的服务器没有密码作为具有sudo 权限的用户。

按照以下步骤禁用 SSH 密码身份验证:

  1. 登录到远程服务器:
    ssh sudo_user@server_ip_address
  2. 使用文本编辑器打开 SSH配置文件:/etc/ssh/sshd_config
    sudo nano /etc/ssh/sshd_config
  3. 搜索以下指令并修改如下:
    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no

    复制

  4. 完成保存文件并键入以下命令重新启动 SSH 服务后:
    sudo systemctl restart ssh

此时,将禁用基于密码的身份验证。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun35727.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年2月4日
下一篇 2021年2月4日

相关推荐

  • 如何修复 Windows 11 中的视频 DXGKRNL 致命错误

    一些用户抱怨他们的计算机经常崩溃并显示停止代码VIDEO DXGKRNL FATAL ERROR。 此特定问题仅偶尔发生,并且错误检查值为 0x00000113,这表明 Micro…

    2021年12月9日 Win 11
  • 如何在 CentOS 8 上安装 MicroK8s

    MicroK8s 是一个面向开发人员、物联网和 Edge的小型、快速、单包Kubernetes。一个命令在 Linux、Windows 和 macOS 上安装带有精心挑选的附加组件…

    2021年9月4日
  • 如何在 CentOS 8 上安装 ArangoDB

    ArangoDB 是一个开源 NoSQL 数据库管理器,提供现代 Web 应用程序所需的所有数据库功能。ArangoDB 不像 MySQL 或 PostgreSQL 那样使用传统的…

    Linux命令 2021年8月1日
  • 如何在 CentOS 8 上安装 OpenSSL

    OpenSSL 是一个强大的、商业级的、功能齐全的传输层安全 (TLS) 协议开源工具包以前称为安全套接字层 (SSL) 协议。协议实现基于全功能通用密码库,也可以独立使用。Ope…

    2021年7月12日
  • 如何在 CentOS 8 上安装 Monit

    Monit 是 Linux 操作系统的开源进程跟踪工具,可帮助您监控系统进程。它会自动对特定过程进行维护和修复,并确保它重新上线。Monit 还可用于处理和监控包、文件、目录、文件…

    2021年7月5日
  • 如何在 CentOS 8 上安装 Google Cloud SDK

    Google Cloud SDK 包含的工具和库使您能够在 Google Cloud Platform 上轻松创建和管理资源。它也支持 Linux、Mac 和 Windows。 在…

    2021年6月29日
  • 如何在 CentOS 8 上安装 WebERP

    webERP 是一个免费、开源且完整的基于 Web 的会计和业务管理系统。您只需要一个网络浏览器和 PDF 阅读器即可使用 webERP。使用 webERP,您可以管理许多事情,包…

    2021年6月23日
  • 如何在 CentOS 8 上安装 VeraCrypt

    VeraCrypt 是适用于 Windows、Mac OS X 和 Linux 的免费开源磁盘加密软件。如果攻击者强迫您透露密码,VeraCrypt 会提供合理的否认。相比之下,对…

    2021年6月15日
  • 六月的补丁星期二修复了 7 个零日 Windows 漏洞,这些漏洞在野外被利用最多

    点击进入:ChatGPT工具插件导航大全 Windows 11 Pro ISO文件在哪下载最新版?如何下载原装纯净版Win11 ?点击进入   持续更新! 本月的更新很糟糕,修复了…

    2021年6月9日
  • 如何在 CentOS 8 上安装 Caddy

    Caddy Web 服务器是一个用Go编写的开源 Web 服务器。它围绕简单性和安全性而设计,具有许多对托管网站有用的功能。Caddy 旨在支持所有流行平台,这就是为什么它适用于 …

    2021年6月8日
  • 如何在CentOS 8上安装Jitsi Meet

    Jitsi Meet是市场上流行的开源视频会议工具之一。Jitsi Meet是Zoom,Skype和Google Meet的一种简单,优雅且安全的替代方案,它支持所有常见的浏览器以…

    2021年5月28日
  • 如何在CentOS 8上安装Roundcube Webmail

    Roundcube是使用PHP编程语言编写的流行Webmail接口。您可以通过Roundcube Web界面上的POP / IMAP访问在Linux服务器上创建的邮箱。 在Cent…

    2021年5月25日
  • 如何在CentOS 8上安装Polr

    Porr是一种快速,现代且开源的链接简化程序。它允许您托管自己的URL缩短器,标记URL并控制数据。Polr可以帮助您推广在线品牌,因为通过跟踪每个链接的点击可以更方便地共享短链接…

    2021年5月25日
  • 如何在CentOS 8上安装Samba

    Samba是一个免费的开源软件,可用于在Linux之间共享文件,文件夹和打印机。和Windows系统。 在CentOS 8上安装Samba 步骤1.首先,让我们首先确保您的系统是最…

    2021年5月17日
  • 如何在CentOS 8上安装Virtualmin

    Virtualmin是一个免费的服务器控制面板(也提供Pro版本)。它有助于使用Apache,Nginx,PHP,DNS,MySQL,FTP,SSH等管理网站(主机)。它基于著名的…

    2021年5月9日
  • 如何在CentOS 8上更改时区

    默认情况下,在配置服务器时,默认时区将自动使用协调世界时(UTC)进行配置。 。在CentOS上,系统的时区是在安装过程中设置的,但以后可以轻松更改。 在CentOS 8上更改时区…

    2021年5月5日
  • 如何在CentOS 8上安装Telnet远程工具

    Telnet是提供双向交互式基于文本的通信的应用程序层协议。它在服务器/客户端模式下工作,在该模式下,将Telnet服务器应用程序安装在主计算机上,并且所有其他计算机都使用Teln…

    2021年5月5日
  • 如何在CentOS 8上安装Telnet

    Telnet是提供双向交互式基于文本的通信的应用程序层协议。它在服务器/客户端模式下工作,在该模式下,将Telnet服务器应用程序安装在主计算机上,并且所有其他计算机都使用Teln…

    2021年4月30日
  • 如何在CentOS 8上安装NTP服务器

    Chrony是网络时间协议(NTP)的实现。Chrony通常将计算机与Internet时间服务器或其他资源(例如无线电或卫星接收器或电话调制解调器服务)同步。它也可以用作客户端系统…

    2021年4月23日
  • 如何在CentOS 8上安装TeamSpeak

    TeamSpeak是跨平台的语音服务器或VOIP应用程序,用于通过Internet进行实时语音聊天。游戏玩家通常使用它来与队友进行交流,以提供清晰的声音,无延迟的性能,军事级的安全…

    2021年4月23日
  • 如何在CentOS 8上安装Deluge BitTorrent客户端

    Deluge使用了前端和后端架构,其中libtorrent是用C ++编写的软件库,可提供应用程序的功能。网络逻辑通过项目自己的Python绑定使用GTK +连​​接到各种前端之一…

    2021年4月21日
  • 如何在CentOS 8上安装Dig

    在CentOS 8上安装Dig 步骤1.首先,让我们首先确保您的系统是最新的。 sudo dnf update sudo dnf install epel-release 步骤2.…

    2021年4月20日
  • 如何在CentOS 8上安装Apache Subversion

    Apache Subversion(SVN)是一个免费的开源版本控制系统,用于管理和跟踪Windows中的更改。文件和目录。每次更改,添加或删除使用Subversion管理的文件或…

    2021年4月20日
  • 如何在CentOS 8上安装Flectra

    Flectra是一个免费和开源的CRM(客户关系管理)和ERP(企业资源计划)软件系统。提供了很大的灵活性和自定义性,可让您满足业务的独特需求。简而言之,Flectra为您提供了一…

    2021年4月12日
  • 如何在CentOS 8上安装Emacs Editor

    Emacs是一个非常有用的功能丰富的文本编辑器,可以在多种平台上使用。由于它对使用不同语言编写代码的相当大的支持,因此它受到大多数程序员的青睐。如果您正在考虑在Linux上切换到E…

    2021年4月12日