Как создать пользователя SSH, который может получить доступ только к MySQL?

kill [ -s signal | -p ]

Этот синтаксис в странице руководства означает:

Можно использовать kill -s signal или можно использовать kill -p, но Вы не можете использовать обоих -s и -p одновременно.

Канал (|) обозначает (эксклюзивный) или в документации, это не часть команды.

Когда Вы вводите

foo | bar

в Вашей оболочке это попытается запуститься foo и bar, и передайте вывод по каналу foo к bar программа. (Это - оболочка, делающая это, нет foo (или bar), | не передается ни одному процессу.) В Вашем случае вторая часть -p 123, таким образом, оболочка пытается найти исполняемый файл названным -p и сбои с тем сообщением об ошибке.

4
09.10.2015, 18:49
1 ответ

Вы можете добавить пользователя без действительного логина:

# useradd -s /sbin/nologin dbuser

Установите его пароль:

# passwd dbuser

Или оставьте его не установленным и сделайте SSH ключи:

(on local machine)
$ ssh-keygen

(on remote machine)
# su -s /bin/bash - dbuser
$ cat local_id_rsa.pub >>~/.ssh/authorized_keys

На этом этапе вы можете использовать SSH для создания туннеля:

ssh -TfnN -L localhost:<local_port>:localhost:<db_server_port> dbuser@remote_host

Если вы использовали SSH ключи для аутентификации, это будет работать автоматически, в противном случае вам нужно будет ввести пароль. ssh перейдет в фоновый режим сразу после аутентификации и не будет пытаться выполнить какую-либо команду, но туннель будет открыт. Введите 'localhost' и значение в вашем локальном DB-клиенте, и все заработает. Однако:

$ ssh dbuser@remote_host
dbuser@remote_host's password:
Last login: Fri Oct  9 09:27:24 2015 from local_host
This account is currently not available.
Connection to remote_host closed.

SSH не выполнит ни одну оболочку или команду от имени удаленного пользователя; /sbin/nologin будет выкидывать его каждый раз.

2
27.01.2020, 21:00

Теги

Похожие вопросы