美文网首页
Windows系统下实现服务器SSH免密登录

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

作者: 顽皮的雪狐七七 | 来源:发表于2020-12-25 16:12 被阅读0次

    目录

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

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

    原理

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

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

    实现步骤

    一、生成公钥和私钥

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

    image

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

    用户/.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,可以看到不需要密码,直接登录成功

    image

    相关文章

      网友评论

          本文标题:Windows系统下实现服务器SSH免密登录

          本文链接:https://www.haomeiwen.com/subject/dbcinktx.html