SSH 和我的 CentOS 7 服务器存在一些问题。这是我的问题的描述。
我的服务器上安装了 open-ssh,并且能够以 root 身份登录(该服务器是远程服务器,默认设置为 open-ssh/centos 7)。但是,我无法以其他用户的身份登录,但我可以以该用户的身份执行 SFTP 等操作。
在 /var/log/messages 中它说:
Mar 7 22:10:04 mail systemd: Started Hostname Service.
Mar 7 22:10:42 mail systemd-logind: New session 1107 of user -----.
Mar 7 22:10:42 mail systemd: Started Session 1107 of user -----.
Mar 7 22:10:42 mail systemd: Starting Session 1107 of user -----.
Mar 7 22:10:42 mail systemd-logind: Removed session 1107.
(为了安全起见,我删除了用户名)
在客户端它说:
2016-03-08 03:37:29 Sent password
2016-03-08 03:37:29 Access granted
2016-03-08 03:37:29 Opening session as main channel
2016-03-08 03:37:29 Server unexpectedly closed network connection
我还没有编辑服务器提供的基本 sshd 配置。任何帮助将不胜感激。
通常我使用 XRDP 进行远程桌面访问服务器,但我需要允许其他用户进行 SSH 访问来启动/停止进程。
答案1
验证文件/etc/ssh/sshd_config
,您正在使用的用户可能被配置为sftp
仅使用:
Match User myuser
ForceCommand internal-sftp
或者用户的 shell 可能被设置为特殊的东西,检查文件/etc/passwd
答案2
对我来说,问题在于 ChrootDirectory 目录的权限。呃,谁关心自定义权限?我会给予通用权限,让一切都包含在其中。您在设置权限之前是这么想的吗?显然,这不是 Linux 的工作方式。
我有一个团队来找我抱怨他们的新 SFTP 没有按预期工作,当检查自定义目录的权限时,它们被设置为 777,所以我只需递归地将它们重置为 755,然后就被调用了弥赛亚。
加油,学习愉快!