零基础教程:轻松配置SSH免密登录

2024-05-23 18:38:46 浏览数 (14)

零基础教程:轻松配置SSH免密登录

SSH免密登录让你无需每次都输入密码就能轻松登录远程服务器,这可是大大提高生产力的利器。以下是详细的配置步骤,覆盖了跨平台(Windows、Linux、macOS)的场景。准备好了吗?让我们开始吧!

SSH免密登录配置主要步骤

  1. 生成SSH密钥对
  2. 将公钥复制到远程服务器
  3. 验证SSH免密登录

接下来让我们一步步操作吧。

在Linux/macOS上配置SSH免密登录

1. 生成SSH密钥对

打开你的终端,输入以下命令生成SSH密钥对:

代码语言:javascript复制
ssh-keygen -t ed25519 -C "beifffeng@gmail.com"
  • -t key 类型
  • -C 注释
  • 中间通过三次回车键确定

输出,如:

代码语言:javascript复制
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_ed25519.
Your public key has been saved in /root/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:kmIGsrJRYxpKhIQezP/KeUKiMkOlp7Mg91M7AUTL9nY beifffeng@gmail.com
The key's randomart image is:
 --[ED25519 256]-- 
|*o ..            |
|   ...           |
| .B.             |
|oO *.. .         |
|* o =.= E        |
|.* =  oo         |
|* B o. o         |
|B  *..o          |
|. o  . .         |
 ----[SHA256]----- 

按提示操作,选择保存路径(默认是~/.ssh/id_rsa) 。

读取公钥文件 ~/.ssh/id_ed25519.pub

代码语言:javascript复制
cat ~/.ssh/id_ed25519.pub

2. 将公钥复制到远程服务器

使用 ssh-copy-id 命令将生成的公钥复制到远程服务器:

代码语言:javascript复制
ssh-copy-id username@remote_host

替换username为你的远程服务器用户名,remote_host为远程服务器的IP地址或域名。输入远程服务器的密码后,公钥会自动添加到远程服务器的~/.ssh/authorized_keys文件中。

ssh-copy-id

3. 验证SSH免密登录

现在,你可以尝试免密登录到远程服务器:

代码语言:javascript复制
ssh root@remote_host

如果配置正确,你应该能直接登录,不再需要输入密码。是不是感觉酷炫多了?

在Windows上配置SSH免密登录

1. 安装Git Bash

如果你还没安装Git Bash,可以从Git官网下载并安装。Git Bash提供了类似于Linux终端的环境,非常适合配置SSH。

2. 生成SSH密钥对

打开Git Bash,输入以下命令生成SSH密钥对:

代码语言:javascript复制
ssh-keygen -t ed25519 -C "beifffeng@gmail.com"

3. 将公钥复制到远程服务器

使用ssh-copy-id命令将公钥复制到远程服务器。在Git Bash中输入:

代码语言:javascript复制
ssh-copy-id username@remote_host

输入远程服务器的密码后,公钥会自动添加到远程服务器的 ~/.ssh/authorized_keys 文件中。

注意:如果 ssh-copy-id命令不可用,可以手动复制公钥:

  • 复制公钥内容:
代码语言:javascript复制
cat ~/.ssh/id_rsa.pub
  • 复制输出的公钥内容。

在远程服务器上添加公钥:

登录到远程服务器并编辑~/.ssh/authorized_keys文件,将复制的公钥内容粘贴到文件末尾。

4. 测试SSH免密登录

现在,你可以使用SSH免密登录到远程服务器:

代码语言:javascript复制
ssh username@remote_host

如果配置正确,你应该能顺利免密登录,是不是有点小激动?

跨平台配置(从Windows到Linux或macOS)

  1. 在Windows上生成SSH密钥对 使用Git Bash生成SSH密钥对,步骤同上。
  2. 将公钥复制到远程Linux或macOS服务器 使用ssh-copy-id命令将公钥复制到远程服务器,步骤同上。如果ssh-copy-id命令不可用,可以手动复制公钥并在远程服务器上添加。
  3. 测试SSH免密登录 使用Git Bash测试SSH免密登录,步骤同上。

总结

通过以上步骤,你可以轻松配置SSH免密登录,无论是同平台(Linux/macOS之间)还是跨平台(Windows到Linux/macOS)都能搞定。这样你就可以专注于更重要的事情,不再被频繁输入密码打扰。快来试试吧,让你的工作效率飞起来!

如果你觉得这篇文章对你有帮助,请记得关注我们的公众号,并在评论区分享你的配置经验哦!

0 人点赞