zoukankan      html  css  js  c++  java
  • SFTP免密码登录踏坑经历

    公司报表要用SFTP SSH协议信任免密码上传到指定报表服务器...

    • 坑1、FTP与SFTP不等同于HTTP与HTTPS;
    • 坑2、免密码不是简单的不设置密码在路由开白名单IP;
    • 坑3、freeSSHd.exe搭建SFTP服务器就这么简单不要想那么复杂;
    • 坑4、puttygen.exe生成密钥对为什么两天两夜不前进;
    • 坑5、拿到的公钥为什么不对;
    • 坑6、拿到的私钥为什么又不对;

    1、坑1可以直接阅读各种百科有详细的教程;坑2完全是被同事误导不提也罢。

    2、SFTP服务器的搭建

      1.下载freeSSHd一键安装好后,检查下进程与服务把FreeSSHDService.exe进程关闭,服务FreeSSHDService先停止。

      2.管理员运行FreeSSHd,选择Users标签添加用户,这里的login名字很重要后面创建公钥要用

      3.开启日志

      4.SHH视情况修改,如:端口被占用等都可以自行修改

      5.方便公钥管理可以加一级目录

      6.上传目录可以更改个

      7.点击应用并去Server status启动服务(多点几次没毛病)

      到此SFTP服务器就设置成功了。真的成功了一点不复杂。

     3、生成密钥对,生成密钥对有很多方式这里用puttygen.exe(网上搜索PuTTY)生成,因为简单方便,不粗心根本不会像我一样开机傻等了两天两夜。

    保存私钥1

    保存密钥2

    保存公钥1(不会用到)

    保存公钥2,选择公钥字符串复制到文件夹下建立一个文本文件并命名为SFTP服务器上创建的登录名(这里用的是test1)并去除后缀。

    到此密钥对获取完成。

    坑5、拿到的公钥为什么不对?

    答:因为SFTP服务器上公钥要使用 保存公钥2 的形式。为此比较下两个公钥有什么不一样:

    接着把公钥2(test1)传到SFTP服务器公钥管理目录

    这时用SFTP连接工具链接SFTP服务,连接私钥用 保存私钥1 就能链接上了。

    到此就完了吗?没有完全没有,我们的目的是在代码里面生成报表,再用代码上传,这就出现了

    坑6、拿到的私钥为什么又不对?

    答:先看上面保存私钥1与保存私钥2的区别

    PCSK与PEM上,在代码里面我们要用到PEM形式的私钥来进行连接,连接类库推荐用SSH.NET

    到此完成。

  • 相关阅读:
    spring boot指定外部配置的坑
    beego 批量删除问题
    spark 安装
    HttpServletRequest 获取cookie
    k8s 代码生成
    k8s 各种示例
    mysql-operator
    k8s Docker私有仓库认证
    Failed to introspect annotated methods on class 异常
    P6272 没有人的算术
  • 原文地址:https://www.cnblogs.com/azeri/p/9650979.html
Copyright © 2011-2022 走看看