如何生成Linux SSH密钥 (linux ssh key 生成)

在Linux系统中,SSH(Secure Shell)协议是一种常用的远程登录协议,用于在两个计算机之间建立安全的加密连接。SSH密钥是SSH协议的一部分,它可以用来进行身份验证,以确保只有授权用户才能访问远程系统。本文将介绍如何在Linux系统中生成SSH密钥,以及如何使用生成的密钥进行远程登录。

Step 1: 安装OpenSSH

在使用SSH协议之前,需要先安装OpenSSH,它是一个提供SSH服务的开源工具。通常情况下,Linux系统已经预装了OpenSSH。如果没有,请使用以下命令进行安装:

sudo apt-get install openssh-server

Step 2: 检查SSH服务是否启动

使用以下命令检查SSH服务是否已经启动:

systemctl status ssh

如果SSH服务已经启动,将看到如下信息:

● ssh.service – OpenSSH server daemon

Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2023-10-15 15:32:18 UTC; 16s ago

Mn PID: 3137 (sshd)

Tasks: 1 (limit: 2319)

CGroup: /system.slice/ssh.service

└─3137 /usr/in/sshd -D

Step 3: 生成SSH密钥

使用以下命令在本地计算机上生成SSH密钥:

ssh-keygen -t ed25519 -C “eml@example.com”

这里使用的是Ed25519密钥,但也可以使用其他类型的密钥,如RSA或ECDSA。其中,-C参数指定一个注释,方便进行管理和识别。

运行上述命令后,会提示输入要将密钥存储在哪里,以及是否要设置一个密码。如果您不希望设置密码,则可以直接按Enter键跳过该步骤。生成的密钥对将存储在~/.ssh目录下,其中:

– id_ed25519为私有密钥

– id_ed25519.pub为公共密钥

Step 4: 复制公共密钥到远程服务器

将生成的公共密钥复制到需要访问的远程服务器上。可以使用以下命令将公共密钥复制到远程服务器中:

ssh-copy-id user@remote_host

其中,user为远程服务器上的用户名,remote_host为远程主机的IP地址或域名。运行上述命令后,会提示输入远程服务器的密码,以便将公共密钥复制到~/.ssh/authorized_keys文件中。

Step 5: 使用SSH密钥登录远程服务器

现在,您可以使用SSH密钥登录远程服务器了。使用以下命令进行登录:

ssh user@remote_host

该命令会自动使用生成的私钥进行身份验证,从而避免了每次都要输入密码的问题。

在Linux系统中生成SSH密钥非常简单,只需几个简单的步骤即可完成。SSH密钥是保护远程访问的一种非常安全的方式,它可以防止未经授权的用户访问系统。希望您能够通过这篇文章,成功学会如何生成SSH密钥,并在实际应用中加以运用。


数据运维技术 » 如何生成Linux SSH密钥 (linux ssh key 生成)