Linux
無法為新使用者獲取 SSH 訪問權限
我在 ubuntu 10 使用者名上創建了一個新使用者:codeuser
有一個名為“admin”的現有使用者。現在,我的問題是我無法使用 codeuser 憑據直接連接到伺服器。但是,我可以通過“admin”SSH進入,然後su(將使用者更改為codeuser)並且它可以工作。如何獲得對 codeuser 使用者的 shell 訪問權限?
這是我的文件的輸出:
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”
在 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
文件中。不管出於什麼原因,我不需要
PasswordAuthentication yes
像其他人提到的那樣在 Ubuntu 18.04.3 LTS 上添加到 /etc/ssh/sshd_config 。需要明確的是,我的被這樣註釋掉了# PubkeyAuthentication yes
,我重新啟動了 ssh 和 sshd 服務,仍然能夠 ssh 進入。