SSH免密登录让你无需每次都输入密码就能轻松登录远程服务器,这可是大大提高生产力的利器。以下是详细的配置步骤,覆盖了跨平台(Windows、Linux、macOS)的场景。准备好了吗?让我们开始吧!
接下来让我们一步步操作吧。
打开你的终端,输入以下命令生成SSH密钥对:
ssh-keygen -t ed25519 -C "beifffeng@gmail.com"
-t
key 类型-C
注释输出,如:
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
使用 ssh-copy-id
命令将生成的公钥复制到远程服务器:
ssh-copy-id username@remote_host
替换username
为你的远程服务器用户名,remote_host
为远程服务器的IP地址或域名。输入远程服务器的密码后,公钥会自动添加到远程服务器的~/.ssh/authorized_keys
文件中。
ssh-copy-id
现在,你可以尝试免密登录到远程服务器:
ssh root@remote_host
如果配置正确,你应该能直接登录,不再需要输入密码。是不是感觉酷炫多了?
如果你还没安装Git Bash,可以从Git官网下载并安装。Git Bash提供了类似于Linux终端的环境,非常适合配置SSH。
打开Git Bash,输入以下命令生成SSH密钥对:
ssh-keygen -t ed25519 -C "beifffeng@gmail.com"
使用ssh-copy-id命令将公钥复制到远程服务器。在Git Bash中输入:
ssh-copy-id username@remote_host
输入远程服务器的密码后,公钥会自动添加到远程服务器的 ~/.ssh/authorized_keys
文件中。
注意:如果 ssh-copy-id
命令不可用,可以手动复制公钥:
cat ~/.ssh/id_rsa.pub
在远程服务器上添加公钥:
登录到远程服务器并编辑~/.ssh/authorized_keys文件,将复制的公钥内容粘贴到文件末尾。
现在,你可以使用SSH免密登录到远程服务器:
ssh username@remote_host
如果配置正确,你应该能顺利免密登录,是不是有点小激动?
ssh-copy-id
命令将公钥复制到远程服务器,步骤同上。如果ssh-copy-id
命令不可用,可以手动复制公钥并在远程服务器上添加。通过以上步骤,你可以轻松配置SSH免密登录,无论是同平台(Linux/macOS之间)还是跨平台(Windows到Linux/macOS)都能搞定。这样你就可以专注于更重要的事情,不再被频繁输入密码打扰。快来试试吧,让你的工作效率飞起来!
如果你觉得这篇文章对你有帮助,请记得关注我们的公众号,并在评论区分享你的配置经验哦!