zoukankan      html  css  js  c++  java
  • windows cmd下ssh连接免密码问题解决

    windows 7 cmd下 ssh -T username@serverip 免密码连接成功

    有的同学在windows下开发,并且在windows下安装了git for windows,这些资源已经足够进行开发和git版本管理了。

    这里只介绍一下如何在cmd下ssh连接远程服务器。

    (1)生成ssh公钥私钥

     安装git之后,ssh和ssh-keygen都是可用的,直接用ssh-keygen产生公私钥

    默认生成的公私钥win7系统在  C:Users用户名.ssh下

    默认名为id_rsa、id_rsa.pub

    (2)把公钥拷贝到服务器上

    对应linux服务器,是linux服务器上的~/.ssh/authorized_keys

    对于gitlab或者gerrit或者GitHub,可以通过网页把公钥粘贴上。

    (3)测试

      在本地windows 7下打开cmd

      输入 ssh -T username@serverip

      发现需要输入密码

    C:Usersabcin>ssh -T sm01@10.230.135.44
    sm01@10.230.135.44's password:
    Permission denied, please try again.
    sm01@10.230.135.44's password:
    Permission denied, please try again.
    sm01@10.230.135.44's password:
    sm01@10.230.135.44: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,pas
    sword).
    此时,配置好公私钥之后,任何需要输入密码的都是耍流氓,都是错误的。

    (4)调试
    ssh -vT sm01@10.230.135.44

    使用的私钥为/.ssh/id_rsa

    该私钥不是 C:Users用户名.ssh下的私钥,私钥文件指定不对,所以连接不上。

    (5)解决
    临时解决:指定私钥
    用 ssh -T -i C:Usersabc.sshid_rsa sm01@10.230.135.44
    即用i指定私钥,则连接成功

    彻底解决:
    经过分析,ssh-keygen默认生成的公钥在用户主目录下的.ssh下(即C:Users用户名.ssh),
    但是实际使用的私钥是在git安装目录下的.ssh(即C:Program Files(x86)Git.ssh)

    只要把公钥私钥从上一个目录拷贝到下一个目录,就可以链接成功了。
    
    
    ssh -T 测试成功,则cmd下git ssh clone也自然是成功的。

  • 相关阅读:
    webpack管理资源
    webpack缓存
    webpack起步
    openssl命令使用
    linux系统安装中文字体-----
    HTML转成PDF的4个前端方法----但都被我拒绝了,我选择后端方法(这才是吊!)
    HTML页面如何导出pdf
    为什么装了easyless插件,vscode还是不能用?
    JSON格式错误,json_decode中true和JSON_UNESCAPED_SLASHES的用法
    tp5条件判断,in,notin,between,if等
  • 原文地址:https://www.cnblogs.com/newalan/p/9289449.html
Copyright © 2011-2022 走看看