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)
キーをファイルキーにコピーしましたmachineA
。machineB
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.log
machineAでこのコマンドを実行して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