新しいクライアントを取得しているため、新しいサーバーの束を追加し始めたこの状況にあります。したがって、取得する新しいクライアントごとに新しいサーバーが必要であり、それに続いて、特権を持つサーバー上にユーザーを作成する必要があります。そして、すべてのもの。新しいサーバーごとに基本的に行う必要があるのは、次の手順です。
Sudo adduser John
Sudo usermod -aG Sudo John
Sudo su John
cd /home/John
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
サーバーごとに4〜5人のユーザーを作成する必要がある場合、これは非常に面倒です。私が今取り組んでいるのは、次のような簡単なコマンドでこれらのすべての手順を実行するスクリプトを作成することです
./create_users.sh John Jim Jill Peter
これまでのところ、
for i in "$@"; do
echo creating user: "$i"
Sudo adduser $i
echo add user to Sudo group
Sudo usermod -aG Sudo $i
echo creating ssh folder and authorized_keys
Sudo su $i
cd /home/$i
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
done
まだ試していませんが、ユーザーごとにパスワードを渡す必要があるため、機能しないことはわかっています。だから私の質問はどうすればいいですか?とりあえず、1Password
のような標準のパスワードを設定しても問題ありません。パスワードを変更する必要があるためです。
スクリプトでそれを行うことも可能ですか、そして/またはこれを行うことは推奨されませんか?.
編集1
これを実行すると、実際に各ユーザーのパスワードを設定するように求められますが、「完全に問題なく」機能しているように見えます。問題があるのは、cd /home/$i
のステップに進むことだけです。どういうわけか動作しないようです私は次のエラーを受け取ります:
mkdir: cannot create directory ‘.ssh’: Permission denied
chmod: cannot access '.ssh/': No such file or directory
touch: cannot touch '.ssh/authorized_keys': No such file or directory
chmod: cannot access '.ssh/authorized_keys': No such file or directory
私は正しいディレクトリにいないので、これは理にかなっています。私のcd /home/$i
が機能しない理由がわかりません...?
申し訳ありませんが、数日前に解決策を見つけました。これが私の解決策です:
for i in "$@"; do
echo creating user: "$i"
Sudo adduser $i
echo add user to Sudo group
Sudo usermod -aG Sudo $i
echo creating ssh folder and authorized_keys
Sudo -H -u $i bash -c 'mkdir -p /home/"$0"/.ssh' $i
Sudo -H -u $i bash -c 'chmod 700 /home/"$0"/.ssh/' $i
Sudo -H -u $i bash -c 'touch /home/"$0"/.ssh/authorized_keys' $i
Sudo -H -u $i bash -c 'chmod 600 /home/"$0"/.ssh/authorized_keys' $i
done
もちろん、これには各サーバーで新しいスクリプトを作成する必要がありますが、5人のユーザーがこれらのコマンドをすべて手動で実行するよりもはるかに高速です。だから私は各サーバーで何をします:
touch create_users.sh
chmod +x create_users.sh
vi create_users.sh
および過去の「スクリプトコード」./create_users.sh john joe jill
を実行します次に、ユーザーごとにパスワードの入力を求められます。次に、ユーザーごとに単純なパスワードを作成し、できるだけ早く変更させます。これは私にとっては機能し、各ユーザーに対して手動でadduser --> usermod --> mkdir etc.
を実行するよりもはるかに高速です。だから今のところこれに固執する。
ソリューションがある場合は、遠慮なく投稿してください。特に、スクリプトを作成し、ubuntuサーバーを操作するのが初めてなので、他のアプローチも教えてください。