命令行和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
希望有人可以为我解决这个问题。
如果需要,很高兴提供更多信息
答案 0 :(得分:1)
/bin/bash\r
表示您已使用Windows编辑器编辑/ etc / passwd或/ etc / shells,因为它包含Windows换行符\r\n
。 Linux仅解释\n
并假定剩余的\r
是二进制名称的一部分。
解决方案:在Linux编辑器中打开文件并删除新行并重新添加。
您也可以安装包tofrodos
并执行:
fromdos /etc/passwd
fromdos /etc/shells