【发布时间】:2021-06-16 21:38:32
【问题描述】:
我想在我的 linux 服务器上创建一个新用户,以便他可以通过 ssh 隧道访问我的 postgres 数据库。但是,我希望他限制他只能访问 ssh 隧道。
我按照以下步骤操作:
- 以
root登录服务器 - 使用
useradd new_user -M -s /bin/true创建一个新用户 - 用
passwd new_user设置密码 - 确保在
/etc/ssh/sshd_config中设置并取消注释PasswordAuthentication yes - 用
sudo systemctl reload sshd重启ssh - 从服务器注销并使用
ssh -p 7822 new_user@my_address.com -N 5433:localhost:5432的新用户登录到服务器(我使用 a2hosting 作为提供程序,我需要使用端口 7822 进行 ssh)
但是,当我尝试登录时,我得到了错误
权限被拒绝,请重试。
当我执行上述所有操作但将步骤 2 更改为
useradd new_user -m -d /home/new_user
我可以用新用户成功登录,但是,我有可能实际访问命令行,这是我尽量避免的。我在这里做错了什么?
【问题讨论】:
-
尝试使用 /bin/false。
-
@RamanSailopal 太棒了!那为我解决了!请将您的回复添加为官方答案(也许会稍微解释一下为什么必须进行更改),以便我接受。
-
这不是编程问题,更适合superuser.com。在那里,请确保您阅读网站指南和您应用的标签的说明!