не может sftp: возвращает 128 "является сервером sftp, запущенным"

Я могу использовать ssh для моего экземпляра EC2 (amazon linux) (тот же пользователь, с той же машины, тот же сертификат), однако я больше не могу использовать sftp.

Вход в систему через WinScp (через окно Windows7) для работы SFTP, но теперь он дает мне «код выхода 128, работает sftp», журнал ошибок просто показывает мне «запрос подсистемы для sftp»,

Как я могу заставить его работать?

отладка обеспечивает следующее:

debug1: session_open: channel 0 debug1: session_open: session 0: link with channel 0 debug1: server_input_channel_open: confirm session debug1: server_input_channel_req: channel 0 request simple@putty.projects.tartarus.org reply 0 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req simple@putty.projects.tartarus.org debug1: server_input_channel_req: channel 0 request auth-agent-req@openssh.com reply 1 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req auth-agent-req@openssh.com debug1: temporarily_use_uid: 222/500 (e=222/500) debug1: restore_uid: (unprivileged) debug2: fd 8 setting O_NONBLOCK debug1: channel 1: new [auth socket] debug1: server_input_channel_req: channel 0 request subsystem reply 1 debug1: session_by_channel: session 0 channel 0 debug1: session_input_channel_req: session 0 req subsystem subsystem request for sftp debug1: subsystem: exec() /usr/libexec/openssh/sftp-server debug2: fd 5 setting TCP_NODELAY debug2: fd 11 setting O_NONBLOCK debug2: fd 10 setting O_NONBLOCK debug1: Received SIGCHLD. debug1: session_by_pid: pid 10940 debug1: session_exit_message: session 0 channel 0 pid 10940 debug2: channel 0: request exit-signal confirm 0 debug1: session_exit_message: release channel 0 debug2: channel 0: write failed debug2: channel 0: close_write debug2: channel 0: send eow debug2: channel 0: output open -> closed debug2: channel 0: read<=0 rfd 11 len 0 debug2: channel 0: read failed debug2: channel 0: close_read debug2: channel 0: input open -> drain debug2: channel 0: ibuf empty debug2: channel 0: send eof debug2: channel 0: input drain -> closed debug2: channel 0: send close debug2: notify_done: reading debug2: channel 0: rcvd close debug2: channel 0: is dead debug2: channel 0: gc: notify user debug1: session_by_channel: session 0 channel 0 debug1: session_close_by_channel: channel 0 child 0 debug1: session_close: session 0 pid 0 debug2: channel 0: gc: user detached debug2: channel 0: is dead debug2: channel 0: garbage collecting debug1: channel 0: free: server-session, nchannels 2 Connection closed by 1.2.3.4 debug1: channel 1: free: auth socket, nchannels 1 debug1: do_cleanup debug1: temporarily_use_uid: 222/500 (e=222/500) debug1: restore_uid: (unprivileged) Transferred: sent 2472, received 2224 bytes Closing connection to 1.2.3.4 port 42647 debug1: PAM: cleanup debug1: PAM: closing session debug1: PAM: deleting credentials 

update: проблема в том, что я редактировал мой .bashrc, который выводил что-то в stdout. Поскольку sftp запускает новую оболочку для пользователя и ей не нравится … она не работает с кодом выхода 128.

  • ssh_exchange_identification: соединение закрыто удаленным хостом
  • Запретить внешний доступ SSH к пользователю
  • Не удается запустить двоичный исполняемый файл на Ubuntu 12.04
  • Открытый ключ SSH не работает для конкретного пользователя
  • CentOS 7 устанавливает порт по умолчанию
  • Каким образом SFTP не основан на SSH?
  • Есть ли один вкладыш, который может отображать отпечатки с открытым ключом с помощью authorized_keys в качестве входных данных?
  • Извлечь ключ сервера SSH с самого сервера
  • One Solution collect form web for “не может sftp: возвращает 128 "является сервером sftp, запущенным"”

    Найдите Subsystem sftp <path> в конфигурации sshd, /etc/ssh/sshd_config . Убедитесь, что <path> указывает на SFTP-сервер (путь меняется, но обычно заканчивается openssh/sftp-server ). Убедитесь, что указанный сервер выполнен.

     $ grep sftp / etc / ssh / sshd_config
     Подсистема sftp / usr / lib / openssh / sftp-server
    
     $ / usr / lib / openssh / sftp-server -h
     использование: sftp-server [-ehR] [-f log_facility] [-l log_level] [-u umask]
    

    Попробуйте запустить sshd в режиме отладки на альтернативном порту:

     # sshd -rddp 1234
    

    Он должен показать, почему именно запрос подсистемы терпит неудачу.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.