新しいサーバアカウントの設定
4297 ワード
サーバーの再設定は避けられません。ここではBandwagonの一例として簡単に記録してください。
ログイン&ユーザ追加
あちらにシステムが設置されたらIPアドレスとSSHポート番号、そしてrootユーザのパスワードが提供されます。
ログインして先に自分のユーザーを追加します。
このように作成されたユーザは、
ユーザーを削除するのも簡単で、サド権限 を設定します。 SSHログイン&パスワードフリーログイン SSHパスワード登録禁止 rootユーザSSHログイン禁止 サド権限を追加
普通は直接にrootユーザーを持って使うのではなく、自分のユーザーにsudoの権限を追加します。キーは sudo-How can I add a new user as sudor using the command line?Ask Ubuntu RootSudo-Community Help Wiki ユーザーグループについては、ここをご覧ください。linux-Is there a command to list all Unix group names?Stock Overflow SSHログイン
SSHが登録されたらログインが必要な時にパスワードを入力しません。簡単に言えば、自分の Flashk Gnicorn Supervisor Ngixプロジェクト展開のまとめ Password-less logins The Flashk Mega-tootrial,Part XVII:Deployment on Linux(even on the Raspberry Pi!)-migelgrinberg.com SSH登録のいくつかの制限
このファイルには多くの関連する設定があります。以下にいくつかの関連するものを挙げます。 設定を有効にするために
参考: linux-Is disabling password login for SSH the same as deleting the password for all users?Server Fault authentication-Shall I set“RSAAuthentication yes”in sshd_config if I use only ECDSA key?Information Security Stock Exchange ユーザパスワードの処理
参考: linux-Is disabling password login for SSH the same as deleting the password for all users?Server Fault 詳細設定
zshに切り替える
インストール先:ロbbryrussell/oh-my-zsh chsh
ログイン&ユーザ追加
あちらにシステムが設置されたらIPアドレスとSSHポート番号、そしてrootユーザのパスワードが提供されます。
$ ssh root@ -p
そしてrootパスワードを入力すればログインできます。ログインして先に自分のユーザーを追加します。
# adduser
まずパスワードを自由に入力して、ユーザー情報などは自分の状況で記入します。このように作成されたユーザは、
useradd
のようにパラメータを追加する必要がないユーザディレクトリを有している(useradd
は下の関数であり、使用を推奨しない)。/etc/skel
の下の内容をコピーしたり、中に.bashrc
のようなものを入れてもいいです。基本的な構成、例えばデフォルトshellは/etc/adduser.conf
に設定されています。デフォルトはbashです。ユーザーを削除するのも簡単で、
deluser
を使って、これもuserdel
の友好バージョンです。下のコマンドは、そのユーザのホームディレクトリを同時に削除します。(もっと多くの使い方をman deluser
に行って、勉強してman
に行きます。最初はちょっと分かりませんが。)# deluser --remove-home
新しいユーザを追加普通は直接にrootユーザーを持って使うのではなく、自分のユーザーにsudoの権限を追加します。キーは
/etc/sudoers
ファイルにあります。# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
sudoグループがあるので、sudoグループに加入すればいいです。# adduser sudo
しかし、パスワードを入力するたびに面倒で、その後、ユーザSSHに登録されたパスワードをログインして封じるので、以下のように/etc/sudoers
ファイルを修正してvisudo
を使う。%sudo ALL=(ALL:ALL) NOPASSWD:ALL
参考:SSHが登録されたらログインが必要な時にパスワードを入力しません。簡単に言えば、自分の
xxx.pub
の中の内容を~/.ssh/authorized_keys
ファイルに入れることです。例は以下の通りです$ mkdir /home/apps/.ssh
$ echo > /home/apps/.ssh/authorized_keys
$ chown -R apps:apache /home/apps/.ssh
$ chmod 700 /home/apps/.ssh
$ chmod 600 /home/apps/.ssh/authorized_keys
参考:このファイルには多くの関連する設定があります。以下にいくつかの関連するものを挙げます。
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
PermitRootLogin no
PasswordAuthentication no
Port 29831
/etc/ssh/sshd_config
はRSAAuthentication
と関係がありますが、実際に使うのは後者です。KeyはもちろんPubkeyAuthentication
の下に置いて、RSAとDSAの両方ができるようです。%h/.ssh/authorized_keys
が空のパスワードの登録を許可しているかどうかは、ユーザが空のパスワードを持っている状態を見ることができますが、空のパスワードのユーザが使用できないアプリケーションがあります。詳しくは参考までに。ここではパスワードでログインしたくないので、noに設定します。PermitEmptyPasswords
は、ノーのrootユーザ登録を禁止するように設定されている。PermitRootLogin
は、ユーザがパスワードでログインすることを禁止するように設定されている。PasswordAuthentication
はSSHに登録されたPortで、一般的にはデフォルトではなく、少し安全性を向上させるために設定されています。Port
を覚えています。参考:
# passwd -d
# passwd -l
前者はパスワードを削除して使用者が空のパスワードの状態にあるので、後者はユーザーのパスワードをロックして、パスワードの検証が必要な操作を正常に行うことができません。詳しくは参考までに参考:
$ sudo service ssh reload
zshに切り替える
インストール先:
man passwd
Oh My Zshに任せて設定します。$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
$ sudo chsh -s /bin/zsh
参考: