零基础教程:轻松配置SSH免密登录
SSH免密登录让你无需每次都输入密码就能轻松登录远程服务器,这可是大大提高生产力的利器。以下是详细的配置步骤,覆盖了跨平台(Windows、Linux、macOS)的场景。准备好了吗?让我们开始吧!
SSH免密登录配置主要步骤
- 生成SSH密钥对
- 将公钥复制到远程服务器
- 验证SSH免密登录
接下来让我们一步步操作吧。
在Linux/macOS上配置SSH免密登录
1. 生成SSH密钥对
打开你的终端,输入以下命令生成SSH密钥对:
代码语言:javascript复制ssh-keygen -t ed25519 -C "beifffeng@gmail.com"
-tkey 类型-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
cat ~/.ssh/id_ed25519.pub
2. 将公钥复制到远程服务器
使用 ssh-copy-id 命令将生成的公钥复制到远程服务器:
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命令不可用,可以手动复制公钥:
- 复制公钥内容:
cat ~/.ssh/id_rsa.pub
- 复制输出的公钥内容。
在远程服务器上添加公钥:
登录到远程服务器并编辑~/.ssh/authorized_keys文件,将复制的公钥内容粘贴到文件末尾。
4. 测试SSH免密登录
现在,你可以使用SSH免密登录到远程服务器:
代码语言:javascript复制ssh username@remote_host
如果配置正确,你应该能顺利免密登录,是不是有点小激动?
跨平台配置(从Windows到Linux或macOS)
- 在Windows上生成SSH密钥对 使用Git Bash生成SSH密钥对,步骤同上。
- 将公钥复制到远程Linux或macOS服务器
使用
ssh-copy-id命令将公钥复制到远程服务器,步骤同上。如果ssh-copy-id命令不可用,可以手动复制公钥并在远程服务器上添加。 - 测试SSH免密登录 使用Git Bash测试SSH免密登录,步骤同上。
总结
通过以上步骤,你可以轻松配置SSH免密登录,无论是同平台(Linux/macOS之间)还是跨平台(Windows到Linux/macOS)都能搞定。这样你就可以专注于更重要的事情,不再被频繁输入密码打扰。快来试试吧,让你的工作效率飞起来!
如果你觉得这篇文章对你有帮助,请记得关注我们的公众号,并在评论区分享你的配置经验哦!


