パスワードなしでSSHと公開鍵を使用してユーザーを追加する

パスワードなしでSSHと公開鍵を使用してユーザーを追加する

パスワードでログインせずにsshに公開鍵を使用するユーザーをRed Hat Linuxに追加したいと思います。これはコマンドラインにあります。

答え1

ユーザーを作成して開始します。

useradd -m -d /home/username -s /bin/bash username

使用するクライアントでキーペアを作成しますssh

ssh-keygen -t rsa

/home/username/.ssh/id_rsa.pubRedHat ホストに公開鍵をコピーします。/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に変更してsshdRedHatホストでサービスを再起動します。

クライアントから接続を開始します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権限を持つ新しいユーザーを作成することを恐れずに実行できるスクリプトを探していました。したがって、同じことをするなら、これが役に立つと確信しています。 :)

関連情報