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

顽皮的雪狐七七

目录

  • 原理
  • 实现步骤

    • 一、生成公钥和私钥
    • 二、在客户端编辑配置文件
    • 三、将公钥拷贝到服务器
    • 四、重启ssh服务
    • 五、关闭再打开cmd进行登录

每次登录服务器都要输入密码很麻烦,所以进行免密登录配置之后就可以跳过输入密码的步骤,直接登录服务器.

原理

ssh提供了安全的身份认证的策略,在免密登录之前,首先需要一对公钥和私钥.

客户端拿着私钥,服务端拿着公钥,属于非对称加密.
私钥客户端自己拿着不在网络上传输,公钥可以网络传输存在服务器上,登录的时候拿私钥进行加密,内容发送给服务器,服务器对公钥进行解密,成功解密就告诉客户端建立链接.

实现步骤

一、生成公钥和私钥

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

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

用户/.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
用户名的路径上一定不能有中文,如果有就无法实现免密登录.如果你的用户名是中文,要么需要修改成英文,要么就将秘钥放置到别的文件路径中

三、将公钥拷贝到服务器

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

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

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

四、重启ssh服务

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

systemctl restart sshd

五、关闭再打开cmd进行登录

这个时候打开cmd进行登录ssh root@www.aaa.com,可以看到不需要密码,直接登录成功

阅读 2.1k

狐七的前端之路
看那夕阳下的奔跑,那是我逝去的青春。

学习探索使我内心平静,

730 声望
55 粉丝
0 条评论
你知道吗?

学习探索使我内心平静,

730 声望
55 粉丝
宣传栏