Windows系统下实现服务器SSH免密登陆

目录

  • 原理
  • 实现步骤安全

    • 1、生成公钥和私钥
    • 2、在客户端编辑配置文件
    • 3、将公钥拷贝到服务器
    • 4、重启ssh服务
    • 5、关闭再打开cmd进行登陆

每次登陆服务器都要输入密码很麻烦,因此进行免密登陆配置以后就能够跳过输入密码的步骤,直接登陆服务器.bash

原理

ssh提供了安全的身份认证的策略,在免密登陆以前,首先须要一对公钥和私钥.服务器

客户端拿着私钥,服务端拿着公钥,属于非对称加密.
私钥客户端本身拿着不在网络上传输,公钥能够网络传输存在服务器上,登陆的时候拿私钥进行加密,内容发送给服务器,服务器对公钥进行解密,成功解密就告诉客户端创建连接.网络

实现步骤

1、生成公钥和私钥

用户/.ssh目录,打开cmd,输入ssh-keygen,以后输入文件名称,一路回车就生成了私钥和公钥ssh

2、在客户端编辑配置文件

用户/.ssh目录,打开config文件,若是没有本身新建一个加密

# 未来能够 ssh aaaa 进行链接,这里能够写IP也能够写域名
Host www.aaa.com

# 能够是域名也能够是IP
HostName  59.110.XX.XXX

# 登陆时的用户名
User root
             
PreferredAuthentications publickey

# 本地文件
IdentityFile C:\Users\burning\.ssh\burning
重要的提示!!!
IdentityFile C:\Users\burning\.ssh\burning
用户名的路径上必定不能有 中文,若是有就没法实现免密登陆.若是你的用户名是中文,要么须要修改为英文,要么就将秘钥放置到别的文件路径中

3、将公钥拷贝到服务器

  1. 先密码登陆一次服务器,在服务器目录下执行下面的命令
> pwd 查看当前所在目录
# /root
> cd .ssh
> ls
# authorized_keys 受权者文件,要把公钥放到这里来
> cat authorized_keys # 打印文本文件中的内容,如今是空

用户/.ssh 目录下使用cmd命令将公钥进行拷贝,scp命令后面不能加中文spa

# 注意下面的root后面跟的IP或者是域名,必须和config中的Host一致
> scp burning.pub root@www.aaa.com:/root/.ssh
# 目录下有了公钥的文件,内容追加到authorized_keys中
> cat >> authorized_keys < burning.pub
> cat authorized_keys 
# 查看内容能够看到公钥已经存进去了

4、重启ssh服务

拷贝完成以后,要重启ssh服务rest

systemctl restart sshd

5、关闭再打开cmd进行登陆

这个时候打开cmd进行登陆ssh root@www.aaa.com,能够看到不须要密码,直接登陆成功code

相关文章
相关标签/搜索