**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
7天前关闭
Improve this question的
我想在我的Linux服务器上创建一个新用户,这样他就可以通过ssh隧道访问我的postgres数据库,但是,我想让他限制他只能访问ssh隧道。
我遵循这些步骤:
1.以root
身份登录服务器
1.使用useradd new_user -M -s /bin/true
创建新用户
1.使用passwd new_user
设置密码
1.确保PasswordAuthentication yes
已设置,并在/etc/ssh/sshd_config
中取消注解
1.使用sudo systemctl reload sshd
重新启动ssh
1.从服务器注销并使用ssh -p 7822 new_user@my_address.com -N 5433:localhost:5432
以新用户登录到服务器(我使用a2hosting作为提供商,其中我需要使用端口7822进行ssh)
然而,当我尝试登录时,我得到了错误
请求被拒绝,请重试。
当我做的一切都像上面,但改变步骤2成useradd new_user -m -d /home/new_user
个
我可以用新用户成功登录,但是,我有可能实际访问命令行,我尽量避免。我在这里做错了什么?
2条答案
按热度按时间bkhjykvo1#
可能是系统上没有/bin/true。作为替代,使用替代/bin/false。
两者都执行相同的功能,但/bin/false往往使用得更多。
doinxwow2#
如果
/bin/true
和/bin/false
不可用,您也可以使用/usr/sbin/nologin
。最新版本的Ubuntu适用于此。字符串
另一方面,对于自动隧道(例如,在反向隧 dojo 景中),用户不需要密码,并且可以使用公钥/私钥处理身份验证。