Мне нужно обновить httpd.conf
в /usr/local/apache/conf
дорожка.
Я сгенерировал SSH-ключ в cpanel и выбрал его в Advanced options в разделе SSH / Authentication.
Также я пробовал два разных варианта SCP / Shell в этом разделе (по умолчанию, /bin/bash
, sudo su -
)
И поскольку я записываю протокол, я выбираю SCP.
И я могу войти в систему, но получаю сообщение об отказе в разрешении, что я не могу редактировать или загружать файл. Я также пытался установить 777 для папки и 664 для файлов, но это также не позволяет мне сделать это изменение.
Я использую Centos 6.5.
Журнал сеанса:
2014-01-06 08:23:13.128 Using SCP protocol.
. 2014-01-06 08:23:13.128 Doing startup conversation with host.
. 2014-01-06 08:23:13.182 Skipping host startup message (if any).
! 2014-01-06 08:23:13.182 stdin: is not a tty
! 2014-01-06 08:23:13.182 sudo: sorry, you must have a tty to run sudo
. 2014-01-06 08:23:13.182 Server sent command exit status 1
. 2014-01-06 08:23:13.182 Disconnected: All channels closed
* 2014-01-06 08:23:13.241 (EFatal) **Connection has been unexpectedly closed.** Server sent command exit status 1.
* 2014-01-06 08:23:13.241 Error skipping startup message. Your shell is probably incompatible with the application (BASH is recommended).
Я хочу поделиться своим решением, потому что я также несколько раз ищу обходной путь. Я использую CentOS7 прямо сейчас и пытаюсь установить соединение через WinSCP (Pubkey Auth).
sshd_config
..
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
UsePAM yes
..
@CentOS visudo - добавить следующие 2 записи
username ALL=NOPASSWD: /bin/su
Defaults:username !requiretty
Настройки WinSCP:
Disable keyboard-interactive @ SSH authentication settings solves the problem for me.
SCP settings command: sudo su -
Как предложил @pragnesh, вы найдете все инструкции в FAQ по WinSCP. Как изменить пользователя после входа в систему (например, su root)?
Не только вам нужно добавить sudo -s
оболочка и yourusername ALL=NOPASSWD: ALL
линии (или аналогичной) к sudoers
, но вам также необходимо убедиться, что sudo
не требует TTY.
Хотя это поведение по умолчанию, вы можете настроить его по-другому. Убедитесь, что вы удалили requiretty
вариант из sudoers
файл.
Вы также можете изменить это значение только для каждого пользователя, см. sudoers: как отключить requiretty для каждого пользователя.
Вам необходимо использовать sudo при настройке входа в систему с WinSCP
Проверь это WinSCP FAQ.