windows通过秘钥使用ssh和scp的方法
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在远程服务器上执行起来,实现脚本化操作远程服务器了。
总结
阅读排行
- 1win2003 service pack2 IIS 无法复制CONVLOG.EXE CONVLOG.EX_问题处理
- 2Windows Server 2008 R2 DNS 服务器迁移方法
- 3win2008 IP安全策略关闭端口、禁止ping、修改远程连接3389端口、开放指定端口
- 4man -f/-k [keyword]在fedora 29 中报错nothing appropriate
- 5IP策略实现服务器禁止Ping
- 6win2003开机自动登录后锁定
- 7本地策略提示不能确定应用到此机器的组策略安全性设置的解决方法
- 8限制Win9X/NT系统功能二十六招
- 9windows10彻底关闭自动更新【绝对可行】
- 10win2003 3389手工修改方法