返回 导航

其他

hangge.com

Windows下SSH免密连接远程服务器教程(使用密钥)

作者:hangge | 2024-05-04 10:33
    Win10 系统自带了 SSH 工具可以登录 Linux,但是每次都需要输入密码略显麻烦。除了使用密码认证外,我们还可以改用 SSH 密钥对认证方式,从而实现免密连接远程服务器。下面通过样例演示具体操作。

1,生成 SSH 密钥对

(1)打开命令提示符(Command Prompt)或 PowerShell,执行如下命令生成 SSH 密钥对:
注意:如果系统比较老,比如使用 Win7 系统,执行 ssh-keygen 或者后续的 ssh 命令会提示“不是内部或外部命令,也不是可运行的程序或批处理文件。”我们可以安装个 git点击访问),然后打开 Git Bash 终端来执行。
ssh-keygen

(2)命令回车后一路回车即可:
注意:如果之前生成过密钥对,则会在中途提示是否覆盖,我们输入 y 回车即可。

(3)生成的密钥对则会保存到 C:\Users\【用户名】\.ssh 目录下,其中:
  • id_rsa 为私钥
  • id_rsa.pub 为公钥

2,将公钥配置到远程服务器上

(1)首先我们使用 ssh 命令登录服务器,比如下面使用 root 用户登录(当然此时会要求我们输入密码):
ssh root@120.27.163.155
ssh hangge@120.27.163.155

(2)接着编辑服务器的 authorized_keys 文件:
提示:
  • 如果想要 root 免密登录,则绝对路径是 /root/.ssh/authorized_keys
  • 如果想要指定用户免密登录,则绝对路径是 /home/用户名/.ssh/authorized_keys,比如:/home/hangge/.ssh/authorized_keys
vi ~/.ssh/authorized_keys

(3)注意:如果没有 .ssh 文件夹,或者 authorized_keys 则需要手动创建。并且创建后需要执行如下命令赋予权限:
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

(4)我们打开之前创建的 id_rsa.pub 公钥,将里面的内容添加到服务器 authorized_keys 文件中,然后保存退出。
注意:如果 authorized_keys 文件已经有其他内容,我们换行添加到尾部即可。

3,测试 SSH 连接

(1)通过上面的设置后,我们可以无需输入密码直接登录到远程服务器。
ssh root@120.27.163.155

(2)如果是针对指定用户设置,同样无需密码可以直接接登录到远程服务器。
ssh hangge@120.27.163.155
评论

全部评论(0)

回到顶部