"useradd"コマンドで新しく作成されたユーザーの場合、SSHパスワードなしの機能は機能しません。

"useradd"コマンドで新しく作成されたユーザーの場合、SSHパスワードなしの機能は機能しません。

machineAログアウトしたmachineBユーザーに対してパスワードのないログインを設定しようとするとうまく機能します。davidこれが私がしたことです:

david@machineA:~> ssh-keygen -t rsa
...

david@machineB:~> ssh-keygen -t rsa
...

machineAユーザーのmachineB認証キーを生成しますdavid。その後、id_rsa.pub (/home/david/.ssh/id_rsa.pub)キーをファイルキーにコピーしましたmachineAmachineB authorized_keys(/home/david/.ssh/authorized_keys)

その後、machineAログイン画面に戻って次のコマンドを実行しましたが、パスワードを入力せずに機能しました。

david@machineA:~> ssh david@machineB

これで、パスワードなしでこのコマンドを実行して新しいユーザーをmachineA作成しmachineBましたuseradd golden。今、goldenパスワードなしでそのユーザーmachineBからSSH経由でアクセスしたいと思いますmachineA。上記と同じ手順を実行しましたが、動作しません。

david@machineA:~> sudo su - golden
golden@machineA:~> ssh-keygen -t rsa
.......

david@machineB:~> sudo su - golden
golden@machineB:~> ssh-keygen -t rsa
....... 

次に、id_rsa.pubゴールドユーザキーをマシンAからマシンBauthorized_keysファイルにコピーした。 SSHを試してみると、次のようになります。

golden@machineA:~> ssh golden@machineB
Connection closed by 23.14.23.10

何が問題なの?このコマンドで手動で作成したゴールドユーザーにのみ機能するわけではありませんuseradd。私はUbuntu 14.04を実行しています。私が作成したこの手動ユーザーの設定を有効にする必要がありますか?

修正する:

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden  675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden  220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root     root     4.0K Dec 22 11:56 ..
drwx------ 2 golden golden 4.0K Jan  3 15:00 .ssh
-rw------- 1 golden golden  17K Jan  3 15:04 .viminfo
drwx------ 5 golden golden 4.0K Jan  3 15:04 .
-rw------- 1 golden golden 4.2K Jan  3 16:32 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 52K
-rw------- 1 golden golden  675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden  220 Dec 22 15:10 .bash_logout
drwxr-xr-x 6 root     root     4.0K Jan  3 14:26 ..
-rw------- 1 golden golden  11K Jan  3 15:21 .viminfo
drwx------ 2 golden golden 4.0K Jan  3 15:21 .ssh
drwx------ 6 golden golden 4.0K Jan  3 15:21 .
-rw------- 1 golden golden 2.9K Jan  3 15:27 .bash_history

Authorized_keys ファイルのパスは machineB にあります。

/home/golden/.ssh/authorized_keys

詳細ログはかなり大きいのでここに要点を貼り付けます。

https://gist.github.com/TechGeeky/cf49052039313e4c654183bf9eafd97c

別のアップデート:

machineBファイルでは、以下はauth.logmachineAでこのコマンドを実行してssh -vvv golden@machineBログインしたときに表示される内容です。

Jan  3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan  3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan  3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan  3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]

答え1

useradd低レベルのユーティリティです。adduserより良い選択になります。ここでの問題は、基本的にuseraddユーザーがシェルなしで作成されることです。そしてsshシェルレスアカウントにリンクすると何もできません

解決策は、ユーザーのためのシェルを追加することです。

chsh -s /bin/sh golden

関連情報