私はubuntu 10のユーザー名に新しいユーザーを作成しました:codeuser
「admin」という既存のユーザーがいます。私の問題は、codeuser資格情報を使用してサーバーに直接接続できないことです。しかし、「admin」を介してSSHでログインしてからsu(ユーザーをcodeuserに変更)すると機能します。シェルアクセスをcodeuserユーザーに取得するにはどうすればよいですか?
これは私のファイルの出力です:
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/bin/bash
admin:x:1000:1000:,,,:/home/admin:/bin/bash
ftp:x:107:65534::/home/ftp:/bin/false
codeuser:x:1004:33::/home/codeuser:/bin/bash
cat /etc/group
root:x:0:
www-data:x:33:
codeuser:x:1005:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
/ etc/ssh/sshd_configで許可ユーザーリストを確認します。問題がなければ、問題はより複雑です。 「ssh codeuser @ your-server -v」として接続してみてください
小切手 /var/log/auth.log
エラーが発生した場合。 passwd
コマンドを使用してcodeuserにパスワードを割り当てましたか?
かなり古い投稿ですが、まだ有効です。上記のMarco Ramosのようにログをチェックする価値があります。私のDebian 9の場合、グループは権限/var/log/auth.logを付与されている必要があります
Nov 23 23:10:46 AreNAS sshd[6765]: User are from 192.168.0.36 not allowed because none of user's groups are listed in AllowGroups
Ubuntu 18.04では、クライアントの公開キーを承認済みキーファイルに追加することを怠っていました(この投稿で、authorized_keysファイルについて考えました: https://superuser.com/a/1337741/413936 ) 。
chmod 700 ~/.ssh
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
次に、クライアントの公開鍵をauthorized_keys
ファイルに追加します。
他の人が言っているように、何らかの理由で、Ubuntu 18.04.3 LTSの/ etc/ssh/sshd_configにPasswordAuthentication yes
を追加する必要はありませんでした。明確に言うと、私のコメントは# PubkeyAuthentication yes
のようにコメントアウトされており、sshとsshdの両方のサービスを再起動しましたが、引き続きsshでログインできました。