• 分类

  • 重置

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在远程服务器上执行起来,实现脚本化操作远程服务器了。

    总结

    以上所述是小编给大家介绍的windows通过秘钥使用ssh和scp的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对lingkb网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!