windows下生成ssh公钥-私钥对,首先需要安装ssh工具,然后打开cmd输入命令 ssh-keygen -t rsa 生成密钥对
# 举例说明:
C:\Users\Runm>
ssh-keygen -t rsa
# -t参数代表类型type,表示用rsa方式加密;-b参数,这里表示生成2048位的公钥
# 输完ssh-keygen -t rsa -b 2048后回车,生成公钥-私钥对总共只用到这一个命令,以下是配置部分
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Runm/.ssh/id_rsa):
# 在上一行的冒号后输入保存私钥的文件名。默认是在C:\Users\你的用户名\.ssh\ 这个路径下,生成名为id_rsa的文件。
# 另外在该路径下还会自动生成id_rsa.pub文件,用来保存公钥。
Enter passphrase (empty for no passphrase):
# 在这里输入私钥密码
Enter same passphrase again:
# 重复输入私钥密码
Your identification has been saved in C:\Users\Runm/.ssh/id_rsa.
Your public key has been saved in C:\Users\Runm/.ssh/id_rsa.pub.
# 上面两行说明了你私钥、公钥的保存位置
The key fingerprint is:
SHA256:uCT7vy2KLS5CPLRURUTrmN6jEeEU9MhJAjttgqOqhFo runm@AMD-YES
The key's randomart image is:
+---[RSA 3072]----+
|o..+== |
|.o+.= . |
|* +* o |
|.Bo = . |
|= .=..o S |
|o=. o+ . |
|+.Eo.o. |
|=.. ++. .. |
|o. +o.+ooo. |
+----[SHA256]-----+
这里用服务器已经生成的密钥连接,首先下载私钥文件,然后通过ssh -i 【私钥文件】 【登录用户】@【服务器公网地址】 #连接服务器
ssh -i D:\Users\Runm\Desktop\id_rsa tom@10.0.0.201 #私钥我放在了桌面
这里报错了提示失败,原因是私钥文件的权限问题,解决办法如下:
id_rsa 文件->属性->安全->高级->所有者改成当前操作用户->权限条目删除所有并添加当前操作用户,就是只保留当前用户有读写权限,其他的删掉,然后就可以了
权限设置完成后重新ssh连接
ssh -i D:\Users\Runm\Desktop\id_rsa tom@10.0.0.201
Enter passphrase for key ‘D:\Users\Runm\Desktop\id_rsa’: #因为我生成密钥的时候设置了密码,所以需要密码才能连接
评论