前提
- root権限をもつ
piyoは、事前に公開鍵認証でsshでログインできています。 - 新規追加するユーザ
hogeは、piyoと同じクライアントPCを使っています。
/etc/ssh/sshd_configの設定
PasswordAuthenticationはnoになっています。そのため、scpを使わずにコピペで公開鍵をauthorized_keysに追加しています。PermitRootLogin prohibit-passwordになっています。
実現したいこと
公開鍵認証のsshで複数人のユーザを登録しようとしています。
発生している問題・エラーメッセージ
サーバで新規作成されたユーザhogeがsshすると、Permission denied (publickey)になってしまいます。
root権限をもつpiyoはログインできます。
何らかの方法でユーザ名と公開鍵、またはクライアントPCのIPを紐付ける必要があるのかもしれないと考えています。
bash
$ ssh -l hoge -i ~/.ssh/秘密鍵のファイル名 固定IP
試したこと
サーバ側
/home/hogeディレクトリを作成し、hogeユーザを作る
bash
$ sudo useradd -s /bin/bash -d /home/hoge -m hoge
hogeユーザを確認
bash
$ cat /etc/passwd | grep hoge hoge:x:1001:1001::/home/hoge:/bin/bash
クライアント側
秘密鍵hogeと公開鍵hoge.pubを作成
bash
$ ssh-keygen -t ed25519 Enter file in which to save the key (/Users/piyo/.ssh/id_ed25519): /Users/piyo/.ssh/hoge
サーバ側
公開鍵をコピー
bash
$ pbcopy < ~/.ssh/hoge.pub
authorized_keysに公開鍵を追加する。事前に~/.sshにはchmod 700、~/.ssh/authorized_keysにはchmod 600を設定している。
bash
$ sudo nano ~/.ssh/authorized_keys
piyoはログインできるがhogeは、Permission denied (publickey)になる。
bash
$ ssh -l hoge -i ~/.ssh/秘密鍵のファイル名 固定IP
補足情報(FW/ツールのバージョンなど)
OS:Ubuntu 22.04.1 LTS
bash
$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS"NAME="Ubuntu"VERSION_ID="22.04"VERSION="22.04.1 LTS (Jammy Jellyfish)"VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/"SUPPORT_URL="https://help.ubuntu.com/"BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

0 コメント