ssh:用户不允许shell不存在

时间:2013-09-19 14:02:15

标签: linux git shell ssh

  • 的Apache
  • CentosOS 5
  • Plesk 10

命令行和ssh上的新功能。

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

我可以不再以root身份登录ssh 或git,但可以作为我通过编辑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

我读了一些关于sudoing并且不知不觉地进入的内容:导致\ r \ n 但在哪里恢复? 以下是一些配置

etc / ssh / sshd_config:

PubkeyAuthentication yes

ECT /壳

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

etc / passwd的

git:x:10009:10009::/home/git:/bin/bash
friend:x:10010:10010::/home/git:/bin/bash
早些时候我尝试安装密码少连接 所以在服务器和我的本地机器上某处有一个.ssh / id_rsa文件。

阅读Git's famous "ERROR: Permission to .git denied to user"

我试过

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

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

如果我以朋友身份登录ssh,我就不能suto root:

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

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

如果需要,很高兴提供更多信息

1 个答案:

答案 0 :(得分:1)

/bin/bash\r

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

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

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

fromdos /etc/passwd
fromdos /etc/shells