window实现证书登陆服务器

需要准备的东西

  1. win+R 进入控制台 输入ssh,看是否存在Open SSH,基本都是可以出现以下图,微软已经在15年的时候就集成到win中无需安装任何软件
  2. 其次,准备一台云服务器用来与用户机通信以及另一台服务器用来作为CA签发证书,还有就是自己的主机作为用户机

第一步 信任CA

CA其实也是一个由一台服务器生成的一对公私钥,具体加密过程就不说了,可以看这篇博文
我们将生成的CA公钥,类似于这个形式
@cert-authority * ssh-ed25519 AAAA************1lZD*****E5AA***********************************************
添加到用户机的known_hosts 文件中,此文件直接在C盘中搜索即可,在末尾直接追加即可,然后保存关闭文件。
此时,用户机已经信任了此CA,将会信任它所签发的证书。
之后,如果服务器还没有信任该CA,则需要在服务器端也信任该CA,在此不赘述,一般是服务器已经信任了该CA

第二步 生成用户机公钥

win+R 进入控制台,输入ssh-keygen回车,一路回车即可,期间会设置一些公私钥保存地址什么的也不需要,默认就好,最后生成了公钥会出现如下界面:

这里的默认加密算法是RSA,如果需要切换其他算法可参考以下指令

ssh-keygen -t rsa -b 4096 -f my_id -C "email@example.com"
-t表示加密算法 可以是ed25519等
-b表示加密时密钥长度,ed25519不需要指定
-f表示生成一个私钥文件 不设置也会生成,只是可以自命名
-C表示一个注释,比如这个密钥是用来干嘛的

第三步 CA生成证书

将用户生成的公钥文件以及服务器公钥文件发送给CA,CA将通过自己的私钥对用户以及服务器的公钥进行加密以生成各自的证书,然后再将证书分别发放给用户以及服务器,用户机会拿到一个证书文件,

将此文件移动到.ssh文件夹下与其他所有密钥文件放在一起,文件路径一般为C:\Users\用户名\.ssh 找到目前使用的用户进入便可以看到, .ssh文件夹一般会被隐藏,需要点击显示隐藏文件夹找到。

然后,用户机就完成了所有的工作,可以进行登陆,这里有两种方法可以远程登陆服务器

第四步 两种方法证书登陆服务器

  1. win+R 进入cmd 输入:ssh root@ip地址 root是登陆名也可以是别的
  2. Xshell远程登陆
    打开Xshell 新建一个连接,输入命名以及服务器地址

    在用户身份验证中选择

    点击连接,接受公钥,输入用户名

    点击确定后,出现需要提交密钥页面

    此处的用户密钥指的是,之前向CA发送的公钥对应的私钥,注意是私钥!点击浏览可以选择私钥文件传入,无需输入密码,点击确定即可登陆
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Window C实现web服务器可以使用多种方式,下面是一种常见的实现方式。 首先,需要使用Window操作系统提供的Socket API来创建并管理服务器的Socket连接。通过调用Socket API创建一个Socket套接字,并绑定一个IP地址和端口号。 接下来,需要编写C代码来处理客户端的请求。可以使用多线程或者异步的方式处理多个客户端的请求。首先调用Socket API的接收函数accept()来接收客户端的连接请求。然后,使用Socket API的发送和接收函数来与客户端进行数据交互,实现HTTP协议的请求和响应。 在C代码中,需要解析客户端发送的HTTP请求报文,包括请求方法、URI、HTTP版本、请求头等信息。根据请求的URI,可以使用文件IO函数来读取服务器上的网页文件,将读取到的文件内容作为HTTP响应的主体返回给客户端。 另外,还需要处理一些特殊的请求,比如GET请求和POST请求。对于GET请求,可以从查询字符串中获取参数,根据参数的不同返回不同的响应;对于POST请求,需要解析请求主体中的表单数据,并根据表单数据的不同做出相应的处理。 最后,在C代码中还可以实现一些功能,比如日志记录、错误处理和异常处理等,以提高服务器的稳定性和安全性。 总结来说,Window C实现web服务器需要使用Window操作系统提供的Socket API来创建和管理服务器的Socket连接。通过编写C代码来处理客户端的请求,包括解析HTTP请求报文、读取网页文件、处理特殊请求等。除此之外,还需要实现一些额外的功能,比如日志记录和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值