К сожалению, не все (клиентское) программное обеспечение, поддерживающее SSH / SFTP, поддерживает аутентификацию с открытым ключом.
Как бы это сделать. настроить стандартный рабочий стол Ubuntu (с включенным sshd), чтобы вы могли использовать простой пароль для локального входа в систему, но вам нужен другой (более безопасный) пароль для входа в ту же учетную запись через SSH?
Я бы предпочел сохранить возможность для входа в систему пользователя рабочего стола через аутентификацию с открытым ключом для тех программ, которые его поддерживают.
I Не знаю, понимаю ли я ваш запрос, но если я правильно понимаю, вам нужен пользователь, который может входить на сервер локально и через SSH, но с разными паролями?
Если это так, просто создайте пару ключей SSH с другой пароль и разрешить удаленный вход с парой ключей SSH. В / etc / ssh / sshd_config
найдите строку: PasswordAuthentication
. Установите это значение нет
. С этого момента пользователи смогут входить на ваш сервер через SSH, если у них есть закрытый ключ, доступный на их клиенте, и им придется вводить парольную фразу ключей SSH вместо пароля пользователя, который вы используете для локального входа.
Имейте другого пользователя для входа в систему SSH и используйте sudo
или su -
, если необходимо получить доступ к профилю Desktop-User .
Отключите Desktop-User в / etc / ssh / sshd_conf
с помощью «DenyUsers»:
/ etc / ssh / sshd_config:
...
DenyUsers Desktop-User
...
OpenSSH и другие известные мне ssh-серверы не позволяют изменять эти параметры только для ssh-логинов, но есть способы обойти это.
OpenSSH может использовать PAM для аутентификации. К сожалению, он не позволяет указать службу PAM, отличную от службы по умолчанию, поэтому вам потребуется изменить основную конфигурацию PAM. Pam не очень гибкий, но есть модули, которые позволяют PAM запускать пользовательский сценарий при входе в систему, поэтому вы можете попытаться создать сценарий pam, который обнаруживает входы SSH, а затем принимает другой пароль от входа без входа SSH. Я не знаком с PAM в деталях, так что это просто общее описание
Еще один (вероятно, более простой) способ взломать систему — запустить SSH-сервер в отдельном пространстве имен монтирования и смонтировать другое /etc/shadow
с разными паролями, тогда SSHd будет использовать их, а локальные входы — нет.(Обратите внимание, что если пользователь входит в систему через SSH, а затем может запустить login
или каким-либо другим способом попытаться войти в систему локально, это также будет проверено по базе данных паролей SSH.)