CentOS 7中添加一个sudo新用户并授权ssh登录

1、添加账户

root用户下

# 添加用户,这一步系统没有显示
useradd yourname <回车>

# 设置密码
passwd yourname <回车>
Changing password for user floatboat
New UNIX password:
Retype new UNIX password:
passwd:all authentication tokens updated successfully
2、开启sudo权限

默认添加的账号是没有sudo执行权限的,开启用户sudo权限

sudo chmod 740 /etc/sudoers
sudo vim /etc/sudoers

添加自己的用户在root下面

##Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
yourname ALL=(ALL)       ALL

# 更改权限
sudo chmod 440 /etc/sudoers

# 本机测试
su yourname
3、使用证书登陆
# server
# 需要特别注意权限和组
mkdir -p /home/yourname/.ssh

chown yourname:你的用户组 -R .ssh/

vim authorized_keys # 写入你的公钥

chmod 600 authorized_keys

chmod 700 /home/yourname/.ssh
4、屏蔽密码登陆和root直接登陆
vim /etc/ssh/sshd_config
PasswordAuthentication no # 禁用密码登录
PubkeyAuthentication yes  # 允许公钥登录
PermitRootLogin no        # 屏蔽root直接登陆


# 编辑了/etc/ssh/sshd_config都需要service sshd restart
/bin/systemctl restart sshd.service
5、免密登录机器测试
# 私钥和服务器端口都可以省略
ssh {yourname}@{服务器ip地址} [-p{服务器端口} -i {私钥}]

把公钥复制到目标服务器的3种方式

  1. 复制authorized_keys
    # 将公钥追加到authorized_keys文件
    cat id_rsa.pub > authorized_keys
    
    # 将authorized_keys文件复制到目标机器
    scp authorized_keys {你的用户名}@{目标机器ip}:{authorized_keys存放的位置}
    # 这一步会提示输入密码
    
  2. 直接复制公钥到目标服务器
    ssh-copy-id -i id_rsa.pub {你的用户名}{目标机器ip}
    # 这一步会提示输入密码
    
  3. 直接上目标服务器操作
    mkdir -p /home/你的用户名/.ssh
    
    chown 你的用户名:你的用户组 -R .ssh/
    
    vim authorized_keys # 写入你的公钥
    
    chmod 600 authorized_keys
    
    chmod 700 /home/你的用户名/.ssh
    

发表评论

电子邮件地址不会被公开。 必填项已用*标注