windows通过秘钥使用ssh和scp

本文介绍如何在Windows10中配置SSH无密码登录,包括启用ssh-agent服务、添加私钥到缓存,实现远程操作自动化。适用于脚本化远程服务器部署与维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows10内置支持了ssh和scp等仿linux指令,可以让我们方便的使用类似linux的工作流把日常的代码资源部署维护工作写成脚本(批处理)。

ssh和scp都有-i参数可以通过指定一个私钥文件位置来远程登录linux或者windows操作系统,但是每次使用指令时都用-i参数指定私钥地址会比较麻烦。我们还可以通过ssh-add方法来添加私钥文件到缓存,这样以后非对称加密秘钥对不变的话就可以直接远程操作不需要输入密码或者私钥文件了。

这个操作需要先启用ssh-agent服务,这个服务在我的windows10里默认是禁用的,所以需要先在powershell里设置成auto并且启动它:

PS C:\windows\system32> set-service -name ssh-agent -startuptype auto
PS C:\windows\system32> get-service ssh-agent

Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent


PS C:\windows\system32> start-service ssh-agent
PS C:\windows\system32>

我的windows用户名是fancy 假设把私钥文件放在了c:\windows\user\fancy\key

就这样添加私钥:

ssh-add c:\windows\user\fancy\key

也可以把秘钥文件改名成

identity

或者

id_rsa

放在~/.ssh/(也就是c:\users\fancy\.ssh\)

然后直接ssh-add 这样就会自动把这些私钥文件加入到缓存,以后就不用每次使用-i参数了。

scp也是使用同样的-i参数,并且和上述操作共用秘钥缓存

然后我们就可以用scp把脚本文件复制到远程服务器,然后使用ssh在远程服务器上执行起来,实现脚本化操作远程服务器了。

OK 更多参看linux服务器操作方面的书籍,还有:

powershell ssh-agent 无法工作:https://www.cnblogs.com/crb912/p/9987590.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fancybit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值