сценарий удара для создания пользователя затем создает ssh ключи

Отражатель VNC разработан для сокращения загрузки ЦП на сервере VNC или сетевом трафике через определенную ссылку (или оба). Отражатель действует как единственный клиент к серверу VNC, но он имеет достаточно знания протокола для действия как сам сервер VNC для нескольких клиентов.

Варианты использования:

  • Сервер VNC также не спешит обрабатывать много клиентов VNC: выполните отражатель VNC на отдельной машине так, чтобы загрузка нескольких клиентов была обработана той машиной вместо этого.

  • Office с двумя местами: выполненный сервер VNC в одном офисе и отражатель VNC в другом офисе. Клиенты в первом офисе соединяются с реальным сервером, и клиенты в другом офисе соединяются с отражателем. Это значительно уменьшит трафик в ссылке между этими двумя офисами. Если удаленный офис не будет иметь супер быстрого соединения с другим офисом, то без отражателя удаленный офис будет иметь ужасную производительность.

0
задан 14 December 2013 в 02:49
2 ответа

Если вы запускаете эту функцию от имени пользователя root, нет необходимости вызывать su и затем запускать несколько команд. Кроме того, это все равно не сработает. Вы просто получите интерактивную оболочку, а затем сценарий продолжится, когда вы выйдете из этой оболочки.

Просто запустите нужные вам команды с помощью sudo напрямую: (и вам не понадобится mkdir ; ssh-keygen сделает это за вас)

sudo -u $1 -- ssh-keygen -t rsa
1
ответ дан 4 December 2019 в 14:04

Я предполагаю, что вы не запускаете эту функцию, когда вошли в систему как root, учитывая все ваши использование sudo.

Я бы, вероятно, просто изменил ваш скрипт вот так.

    sudo useradd -G lshell,sshlogin -b /usr/share/nginx/$1/home -d /usr/share/nginx/$1/home -m --skel /etc/httpskel -K UMASK=027 $1;
    sudo chown root:root /usr/share/nginx/$1;
-    sudo su - $1;
-    mkdir /usr/share/nginx/$1/home/.ssh;
-    ssh-keygen -t rsa;
+    sudo mkdir -p /usr/share/nginx/$1/home/.ssh;
+    sudo ssh-keygen -t rsa -f /usr/share/nginx/$1/home/.ssh/id_rsa
+    sudo chown -R /usr/share/nginx/$1/home/.ssh/
+    sudo chmod 0600 /usr/share/nginx/$1/home/.ssh/

На заметку о безопасности. Вам действительно не следует создавать или хранить закрытые ключи пользователей. Предполагается, что закрытые ключи должны быть личными, а не храниться на сервере, где они могут быть украдены.

1
ответ дан 4 December 2019 в 14:04

Теги

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