Centos新建用户无法ssh登陆

我的个人博客:逐步前行STEP

如题,最近使用AWS搭建web server,原先是root用户,添加了一个develop用户组,并添加了一个开发人员账户:testname,然而却无法使用ssh登陆。查看了各种解决办法都没有效果,最终我从

/etc/passwd

文件中root和testname账户后面的参数分别为/bin/bash和/bin/false直觉是因为这个参数导致的,查资料后发现

/bin/false

是在添加用户的时候设置禁止该用户登录,所以不管用什么操作都登不上去。。。
回想一下,之前使用useradd是为添加nginx、mysql用户,网上教程是

useradd -g nginx nginx -s /bin/false 

我只知道这是为nginx用户组添加nginx用户,却没搞清楚/bin/false的用途,所以我新建普通用户的时候也是用这个命令,导致了新用户无法登陆。

CentOS 7上创建一个脚本以便使用SSH登录新用户是相对简单的。下面是一个简单的步骤: 1. 以root用户身份登录到CentOS 7系统。 2. 打开一个文本编辑器,并创建一个名为`create_user_ssh_login.sh`的新文件。 3. 在文件中输入以下内容: ```bash #!/bin/bash # 设置新用户用户名 USERNAME="newuser" # 创建新用户 useradd $USERNAME # 设置新用户的密码 PASSWORD="newpassword" echo $PASSWORD | passwd --stdin $USERNAME # 为新用户创建.ssh目录并设置权限 mkdir /home/$USERNAME/.ssh chown $USERNAME:$USERNAME /home/$USERNAME/.ssh chmod 700 /home/$USERNAME/.ssh # 将公钥复制到新用户的authorized_keys文件中 cat /path/to/public_key.pub >> /home/$USERNAME/.ssh/authorized_keys chown $USERNAME:$USERNAME /home/$USERNAME/.ssh/authorized_keys chmod 600 /home/$USERNAME/.ssh/authorized_keys # 允许新用户通过SSH登录 sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config systemctl restart sshd ``` 4. 保存并关闭文件。 5. 使用以下命令将脚本文件设置为可执行: ```bash chmod +x create_user_ssh_login.sh ``` 6. 运行脚本以创建用户和配置SSH登录: ```bash ./create_user_ssh_login.sh ``` 7. 根据需要替换`USERNAME`和`PASSWORD`变量的值,并将公钥的路径替换为你的公钥路径。 注意:脚本中的默认用户名为`newuser`,默认密码为`newpassword`,请根据实际需要进行修改和替换。 这个脚本将创建一个新用户,指定的用户名和密码,并为该用户创建.ssh目录,将公钥添加到authorized_keys文件中,然后禁用密码身份验证,并重新启动SSH服务器以使更改生效。这样,新用户就可以使用SSH登录到系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲敲代码、落灯花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值