Sublime Text 3 SFTP使用私钥

Sublime Text 3 SFTP使用私钥

我正在尝试在 Windows 7 计算机上建立 SSH 连接。我已经使用 PuTTYGen 生成了密钥,并将私钥也加载到了 Pageant 中。当我尝试浏览服务器目录时,Sublime 要求我输入用户密码,而不是密钥文件的密码,就好像我没有私钥一样。

到目前为止,我已经尝试了互联网上建议的这些方法:

  • 将连接类型设置为 sftp 和 ftp,没有成功
  • 使用 IP 和域名作为主机变量,没有运气
  • 使用密钥文件名作为用户名,没有运气
  • 启用/禁用 connect_timeout,没有运气
  • 将私钥移动到不同位置,包括桌面、All Users文件夹my user folder、根目录C:/、文件夹、D:/文件夹,没有运气My DocumentsSublime 3
  • 我尝试输入我的 PK 密码,但系统提示我输入密码[电子邮件保护]并收到一条错误消息“ Connecting to SFTP server "some.host.com" as "root" ........................................................................ failure (Invalid login/password specified)

我现在没招了。我可以确认端口号是正确的,我可以使用该端口号在我的 Mac 上使用 pk 登录。

这是我目前的 Sublime 设置。有人能指出我还可以尝试什么吗?

{
    // The tab key will cycle through the settings when first created
    // Visit http://wbond.net/sublime_packages/sftp/settings for help

    // sftp, ftp or ftps
    "type": "sftp",

    "save_before_upload": true,
    "upload_on_save": true,
    "sync_down_on_open": true,
    "sync_skip_deletes": false,
    "sync_same_age": true,
    "confirm_downloads": false,
    "confirm_sync": true,
    "confirm_overwrite_newer": true,

    "host": "some.host.com",
    "user": "root",
    // "password": "",
    "port": "222",

    "remote_path": "/",
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
    ],
    //"file_permissions": "664",
    //"dir_permissions": "775",

    //"extra_list_connections": 0,

    "connect_timeout": 30,
    "keepalive": 120,
    //"ftp_passive_mode": true,
    //"ftp_obey_passive_host": false,
    "ssh_key_file": "D:/Software/Sublime 3/myKey.ppk",
    //"sftp_flags": ["-F", "/path/to/ssh_config"],

    //"preserve_modification_times": false,
    //"remote_time_offset_in_hours": 0,
    //"remote_encoding": "utf-8",
    //"remote_locale": "C",
    //"allow_config_upload": false,
}

附言:有人告诉我,这里是提出这个问题的更好地方。我是超级用户新手,所以如果有更好的方法获得支持,请告诉我。

答案1

也许您已经得到了答案,但希望这能够对某些人有所帮助。

你不能使用 .pem .ppk 是答案

  1. 使用 puttykey gen 您需要将 .pem 转换为 .ppk 只需加载 .pem 并保存为 .ppk

  2. 使用 ppk 连接

这是我的例子

"host": "your server ip",
"user": "ubuntu", //default
"ssh_key_file": "c:/your_location/newkey.ppk",
"remote_path": "/var/www/html/your_webfolder_path/",

答案2

我为此苦苦挣扎了一段时间。在 Windows 上SFTP使用PSFTP,因此如果您将私有 ssh 密钥加载到Pageant,它应该会连接。我指定了ssh_key_file路径上传到Pageant。您可能需要先将您的 转换.pem.ppk,正如@Wayne 所指出的那样。

*** 不确定我是否必须同时指定 ssh 密钥路径和上传到,Pageant但一旦我上传到,Pageant我就可以连接

相关内容