php网站服务器架设,wordpress轮播图修改,360门户网站怎样做,全球搜钻本章目录: 前言1. 准备工作2. 生成 SSH 密钥对步骤 1#xff1a;打开命令行步骤 2#xff1a;运行 ssh-keygen 命令步骤 3#xff1a;选择密钥保存位置步骤 4#xff1a;设置密钥密码#xff08;可选#xff09;步骤 5#xff1a;生成密钥对 3. 查看生成的密钥文件4. 将… 本章目录: 前言1. 准备工作2. 生成 SSH 密钥对步骤 1打开命令行步骤 2运行 ssh-keygen 命令步骤 3选择密钥保存位置步骤 4设置密钥密码可选步骤 5生成密钥对 3. 查看生成的密钥文件4. 将公钥添加到 Linux 服务器步骤 1复制公钥步骤 2在 Linux 服务器上配置公钥步骤 3验证配置 5. 完成免密登录6. 常见问题1. Permission denied (publickey) 错误2. 如何更换密钥 总结 前言
在日常的开发或运维工作中使用 SSH 密钥进行身份验证避免了每次都输入密码的麻烦。本文将详细介绍如何在 Windows 系统上生成 SSH 密钥对并将公钥添加到 Linux 服务器上以便通过 SSH 免密登录。 1. 准备工作
如果你需要通过 SSH 访问 Linux 服务器那么首先需要生成一对 SSH 密钥公钥和私钥。通常推荐使用 RSA 算法生成密钥对。生成的密钥将存储在 Windows 本地之后将公钥上传到远端的 Linux 服务器以实现无密码登录。
2. 生成 SSH 密钥对
步骤 1打开命令行
首先打开 Windows 的命令行CMD。可以按下 Win R 键然后输入 cmd按下回车进入命令行界面。
步骤 2运行 ssh-keygen 命令
在命令行中输入以下命令
ssh-keygen你也可以指定生成 RSA 密钥对
ssh-keygen -t rsa步骤 3选择密钥保存位置
执行命令后会提示你输入保存密钥的文件位置。默认情况下密钥会保存在 C:\Users\XXX\.ssh\id_rsa 文件中XXX 是你的用户名。如果你希望保存到其他位置可以自行指定文件路径。如果直接按回车密钥将保存在默认位置。
Enter file in which to save the key (C:\Users\XXX\.ssh\id_rsa):步骤 4设置密钥密码可选
接下来命令行会要求你输入密钥的密码。你可以选择设置密码也可以直接按回车跳过生成一个无密码的密钥。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:步骤 5生成密钥对
完成上述步骤后密钥对将生成在指定的目录下。命令行输出将显示类似以下内容
Your identification has been saved in C:\Users\XXX\.ssh\id_rsa.
Your public key has been saved in C:\Users\XXX\.ssh\id_rsa.pub.
The key fingerprint is:
SHA256:k/fZW0MI2odocmufHxptziPKxrNu4guuq0fTX/miWEs
The keys randomart image is:
---[RSA 2048]----
| |
| |
| . |
| . o . |
| . .Soo o . |
| o . ..oo. |
| . ...Eoo..o...|
| .. o*.oB..o.|
| .oooo.Boo |
----[SHA256]-----至此你已经成功生成了一个 RSA 密钥对。
3. 查看生成的密钥文件
生成的密钥对将保存在以下路径
C:\Users\XXX\.ssh\id_rsa 私钥文件
C:\Users\XXX\.ssh\id_rsa.pub 公钥文件私钥id_rsa保留在本地确保安全绝对不能泄露。公钥id_rsa.pub需要上传到你希望访问的 Linux 服务器中。
4. 将公钥添加到 Linux 服务器
步骤 1复制公钥
打开 id_rsa.pub 文件你可以看到类似以下内容
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArM..长一串字符... userhost复制该文件中的所有内容从 ssh-rsa 开始到最后的 userhost 结束。
步骤 2在 Linux 服务器上配置公钥 使用 SSH 登录到你的 Linux 服务器如果已经配置了密码登录。 在服务器上打开或创建 ~/.ssh/authorized_keys 文件 nano ~/.ssh/authorized_keys将你复制的公钥粘贴到 authorized_keys 文件中。 保存并关闭文件。确保文件的权限设置正确执行以下命令来设置权限 chmod 600 ~/.ssh/authorized_keys确保 .ssh 目录本身的权限是 700 chmod 700 ~/.ssh步骤 3验证配置
现在你已经将公钥添加到 Linux 服务器。尝试从 Windows 本地进行 SSH 登录使用以下命令
ssh usernamelinux_server_ipusername 是你在 Linux 服务器上的用户名。linux_server_ip 是你要连接的服务器的 IP 地址。
如果配置成功你将无需输入密码即可直接登录到远程 Linux 服务器。
5. 完成免密登录
当你的公钥已经成功添加到 Linux 服务器并且权限配置正确时你就可以通过 SSH 免密登录了。这样你无需每次都输入密码操作会更加高效便捷。
6. 常见问题
1. Permission denied (publickey) 错误
如果你遇到 Permission denied (publickey) 错误通常是因为以下原因之一 公钥未正确添加到服务器的 ~/.ssh/authorized_keys 文件中。 ~/.ssh 目录或 authorized_keys 文件的权限设置不正确确保它们的权限为 700 和 600。 服务器的 SSH 配置文件 /etc/ssh/sshd_config 中没有允许公钥认证。请检查是否有如下设置 PubkeyAuthentication yes修改后重启 SSH 服务 sudo systemctl restart sshd2. 如何更换密钥
如果你需要更换生成的密钥例如私钥泄露了只需要重新生成一对新的密钥并按照上述步骤替换 authorized_keys 文件中的公钥即可。 总结
通过以上步骤你已经在 Windows 上成功生成了 SSH 密钥对并将公钥添加到 Linux 服务器上实现了免密登录。这不仅提升了安全性避免明文密码泄露也提高了工作效率。希望本文能帮助你顺利配置 SSH 无密码登录。