首页  >  问答  >  正文

linux - ssh能够登录,sftp登不上去可能是什么原因?

FileZilla这种ftp客户端通过sftp的方式无法登陆,但winscp可以。
前几天好没有问题,查看sshd_config下面显示的是:

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server

但是查找sftp-server是在这下面的

/usr/local/libexec/libexec/openssh/sftp-server

跟这个配置的路径有关系吗?
修改之后重启sshd有没有可能造成ssh也连接不上的情况?
远程服务器连接不上就麻烦了。
不敢轻举妄动。。

大家讲道理大家讲道理2745 天前1356

全部回复(3)我来回复

  • 迷茫

    迷茫2017-04-17 11:07:01

    winscp可以,说明你服务器没有问题,那就是FileZilla的问题了,别用FileZilla,换别的吧

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 11:07:01

    用WireShark抓个包来看看~~

    回复
    0
  • 黄舟

    黄舟2017-04-17 11:07:01

    你的 SSH 服务器是怎样安装的?直接从软件源里面安装的还是自己编译安装的?

    如果是自己编译安装的,而且在编译的时候没有指定安装路径,那么 SSH 就会被默认安装到 /usr/local 目录下,所以你查找到的 sftp-server 就是在 /usr/local 下面的

    不过虽然在编译的时候没有指定安装路径,但是似乎配置文件里面的路径还是默认的,所以你需要修改配置文件,将其改为 /usr/local 下面的路径,也就是你查找到的路径。

    至于修改之后重启会不会连不上的问题,据我所知 Debian 里面重启 SSH 是不会中断当前链接的,你只要重启之后再开一个终端去尝试连接就行了。

    如果还是不放心,可以先装一个 telnet,这样就算 SSH 死掉了,还可以通过 telnet 上去。不过要注意,通过 telnet 连接时,所有的数据(包括密码)都是明文传输的,请事先设置一个临时的密码。

    回复
    0
  • 取消回复