0
  • 阿帕奇
  • CentosOS 5
  • Plesk 10

命令行和 ssh 的新功能。

在尝试让多个用户(root git 朋友)ssh 到同一个 shell 并配置无密码连接时,我一定犯了一个错误。

我不能再以 root或 git 身份通过 ssh 登录,但可以作为我通过编辑 etc/passwd 转移其 shell 的朋友。幸运的是,我仍然可以在 plesk 上登录,因此可以进行 gui 文件编辑。

这是我在 sshd 错误日志中发现的内容

sshd[11999]: User git not allowed because shell /bin/bash\r does not exist
sshd[12000]: input_userauth_request: invalid user git
sshd[11999]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.dynamic.upc.nl  user=git
sshd[11999]: Failed password for invalid user git from xxx.xxx.xxx port 54851 ssh2

我读了一些关于 sudo ing 并顺便输入的内容:导致 \r 但是在哪里恢复?下面是一些配置

等/ssh/sshd_config :

PubkeyAuthentication yes

等/贝壳

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/false
/usr/local/psa/bin/chrootsh
/bin/rbash

等/密码

git:x:10009:10009::/home/git:/bin/bash
friend:x:10010:10010::/home/git:/bin/bash

早些时候我尝试安装无密码连接,因此在服务器和本地计算机上的某处有一个 .ssh/id_rsa 文件。

在阅读了 Git 著名的“错误:对 .git 的权限拒绝用户”之后

我试过了

ssh-add -l
Could not open a connection to your authentication agent

我的问题类似于: https ://serverfault.com/questions/480806/ssh-root-access-denied-after-changeing-shell

如果我以朋友身份登录 ssh,则无法 sudo 登录:

sudo root 
friend is not in the sudoers file

我也不能chsh

[friend@vpsXXX ~]$ chsh -s /bin/bash root
chsh: Running UID doesn't match UID of user we're altering, shell change denied

希望有人可以为我解决这个问题。

如果需要,很乐意提供更多信息

4

1 回答 1

1
/bin/bash\r

表示您已使用 Windows 编辑器编辑了 /etc/passwd 或 /etc/shells,因为它包含 Windows 换行符\r\n。Linux 仅解释\n并假定其余\r部分是二进制名称的一部分。

解决方案:在 Linux 编辑器中打开文件并删除新行并重新添加。

您也可以安装软件包tofrodos并执行:

fromdos /etc/passwd
fromdos /etc/shells
于 2013-09-19T14:05:29.037 回答