我想在我的 Linux 服务器上创建一个新用户,以便他可以通过 ssh 隧道访问我的 postgres 数据库。但是,我希望他限制他只能访问 ssh 隧道。
我按照以下步骤操作:
- 以以下身份登录服务器
root
- 创建一个新用户
useradd new_user -M -s /bin/true
- 设置密码
passwd new_user
- 确保已
PasswordAuthentication yes
设置并取消注释/etc/ssh/sshd_config
- 重新启动 ssh
sudo systemctl reload sshd
- 从服务器注销并使用新用户登录服务器
ssh -p 7822 new_user@my_address.com -N 5433:localhost:5432
(我使用 a2hosting 作为提供商,我需要使用端口 7822 进行 ssh)
但是,当我尝试登录时出现错误
权限被拒绝,请重试。
当我按照上面的步骤操作,但将步骤 2 改为
useradd new_user -m -d /home/new_user
我可以使用新用户成功登录,但是,然后我有可能实际访问命令行,这是我试图避免的。我在这里做错了什么?
答案1
Match user foo
ForceCommand echo 'Only TCP port forwarding to PostgreSQL enabled!'
PermitOpen 127.0.0.1:5432
PermitUserRC no
PermitTTY no