パスワードでログインせずにsshに公開鍵を使用するユーザーをRed Hat Linuxに追加したいと思います。これはコマンドラインにあります。
答え1
ユーザーを作成して開始します。
useradd -m -d /home/username -s /bin/bash username
使用するクライアントでキーペアを作成しますssh
。
ssh-keygen -t rsa
/home/username/.ssh/id_rsa.pub
RedHat ホストに公開鍵をコピーします。/home/username/.ssh/authorized_keys
RedHat ホスト上のファイルに対して正しい権限を設定します。
chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys
RedHat ホストで公開鍵認証が有効になっていることを確認します。
grep PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes
それ以外の場合は、ディレクティブをyesに変更してsshd
RedHatホストでサービスを再起動します。
クライアントから接続を開始しますssh
。
ssh username@redhathost
id_rsa
で自動的にキーを探す必要があります~/.ssh/
。以下を使用してIDファイルを指定することもできます。
ssh -i ~/.ssh/id_rsa username@redhathost
答え2
Ubuntuでは、次のコマンドを使用してユーザーを追加できます。
adduser --disabled-password <username>
.ssh/authorized_keys
次に、公開鍵を使用してホームディレクトリにファイルを作成します。
答え3
あなたが使用できる:
usermod --lock <username>
マニュアルページから:
ユーザーのパスワードをロックします。これにより、暗号化されたパスワードの前に「!」が追加され、パスワードが効果的に無効になります。このオプションは -p または -U では使用できません。注:アカウントをロックするには(パスワードアクセスだけでなく)、EXPIRE_DATEも1に設定する必要があります。
答え4
フルスクリプト(<SSH_PUB_KEY>
形式はssh-rsa …
):
NEW_USER=newuser
sudo adduser --disabled-password "$NEW_USER"
sudo -i -u "$NEW_USER"
# now you are under the new user's shell
cd
mkdir -p .ssh
chmod 0700 .ssh
echo "<SSH_PUB_KEY>" > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
私は、適切なSSH権限を持つ新しいユーザーを作成することを恐れずに実行できるスクリプトを探していました。したがって、同じことをするなら、これが役に立つと確信しています。 :)