第一次尝试时无法ssh到Centos上新创建的用户

第一次尝试时无法ssh到Centos上新创建的用户,ssh,centos,linode,Ssh,Centos,Linode,这就是我正在做的: 在Linode上创建新服务器。操作系统是centos 6.5 以root用户身份登录 运行以下脚本以添加名为shortfellow的用户,该用户没有密码 剧本是: #!/bin/bash yum -y update adduser shortfellow mkdir -p /home/shortfellow/.ssh echo "ssh-rsa REALLYLONGSSHPUBLICKEY shortfellow@example.io" >> /home/sh

这就是我正在做的:

  • 在Linode上创建新服务器。操作系统是centos 6.5
  • 以root用户身份登录
  • 运行以下脚本以添加名为shortfellow的用户,该用户没有密码
  • 剧本是:

    #!/bin/bash
    
    yum -y update
    adduser shortfellow
    
    mkdir -p /home/shortfellow/.ssh
    echo "ssh-rsa REALLYLONGSSHPUBLICKEY shortfellow@example.io" >> /home/shortfellow/.ssh/authorized_keys
    
    chmod -R 700 /home/shortfellow/.ssh
    chown -R shortfellow:shortfellow /home/shortfellow/.ssh
    su - shortfellow
    exit
    
    问题是当我第一次尝试ssh到系统中时。它根本不起作用。它只要求输入密码。我点击ctrl+c并再次尝试ssh,因为它是同一个用户,可以正常工作

    这种行为真的很烦人,因为我正在编写代码以编程方式创建服务器,但由于这个愚蠢的问题,它无法工作


    有人知道为什么这可能无法按预期工作吗?

    在退出
    之前,我在脚本中添加了
    /sbin/mkhomedir\u helper shortfellow
    ,然后它就正常工作了


    我想问题是,用户的主目录只在登录时创建,而当我试图以编程方式创建此用户时,由于某种原因,这种情况不会发生。

    从两次连接尝试中获取
    ssh-vvv
    的输出?(我假设这不仅仅是创建文件和第一次ssh尝试之间的竞争?)