一、新建root权限用户
-
创建用户
[root@master ~]# adduser hadoop -
初始化密码
[root@master ~]# passwd hadoop -
授权
#编辑文件 [root@master ~]# sudo vim /etc/sudoers #修改文件内容 ## Allow root to run any commands anywhere root ALL=(ALL) ALL hadoop ALL=(ALL) ALL #将新用户添加再这里 #保存,退出 -
测试
不要关闭这个页面,新开一个ssh连接,使用新用户登录。
[root@master ~]# sudo cat /etc/passwd [sudo] password for hadoop: We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. #输入密码后可以登录
二、禁用root使用ssh登录
-
CentOS 默认容许任何帐号透过 ssh 登入,包括 root 和一般帐号,为了不让 root 帐号被黑客暴力入侵,可以禁止 root 帐号的 ssh 功能,事实上 root 也没有必要 ssh 登入服务器,因为只要使用 su 或 sudo (当然需要输入 root 的密码) 普通帐号便可以拥有 root 的权限。
使用root账号登录后,用 vim (或任何文本编辑器) 编辑 /etc/ssh/sshd_config:
找到
PermitRootLogin yes #修改为 PermitRootLogin no -
使生效
[root@master ~]# service sshd restart -
验证
不要关闭这个页面,新开一个ssh连接,使用root用户登录,无法成功登录,则设置成功。
三、ssh 密钥登录设置
-
使用非root用户登录(但是要有root权限,上述新建账户hadoop)
-
生成密钥对
[hadoop@master ~]$ ssh-keygen -t rsa #建立密钥对 Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): #直接回车 Created directory '/home/hadoop/.ssh'. Enter passphrase (empty for no passphrase): # 输入密码,或者直接按回车,实现无密码登录 Enter same passphrase again: #重新输入密码或按回车 Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: SHA256:HfIkWBAJNCHFKLWuYJW/jWbSMRx2GdfSfV/vnVOL+DI hadoop@master The key's randomart image is: +---[RSA 2048]----+ | .o=*oo=..o . | |. .oo..o+. o . ..| | ..o o.oo + . +| | .. + o * . +| |... = S o . ..=| |o. . * . . +o| |. . * . . .| | + E . | | o | +----[SHA256]-----+ [hadoop@master ~]$ cd .ssh [hadoop@master .ssh]$ ll total 8 -rw------- 1 hadoop root 1675 Jun 24 16:14 id_rsa #私钥,下载到本地 -rw-r--r-- 1 hadoop root 395 Jun 24 16:14 id_rsa.pub #公钥 -
在服务器上安装公钥
#键入以下命令,在服务器上安装公钥: [hadoop@master .ssh]$ cd .ssh [hadoop@master .ssh]$ cat id_rsa.pub >> authorized_keys #设置权限 [hadoop@master .ssh]$ chmod 600 authorized_keys [hadoop@master .ssh]$ chmod 700 ~/.ssh #只要700的时候,sshd才能读到 -
设置ssh配置
编辑 /etc/ssh/sshd_config:
[hadoop@master ~]$ sudo vim /etc/ssh/sshd_config #在文件末尾新增 RSAAuthentication yes PubkeyAuthentication yes #禁止使用密码登录,注释掉下面这行,或者将yes改为no #PasswordAuthentication yes PasswordAuthentication no -
重启SSH服务
[hadoop@host .ssh]$ service sshd restart -
验证
保持该ssh连接,新开ssh连接,便于有问题可以通过原有ssh连接进行修改:
输入用户名后, 密码验证界面,如下,选择User Keys

之后,选择导入之前下载到本地的私钥:

点击OK

选择登录,如果之前创建密钥时,输入的有秘密,应当在下框中输入密码,无密码直接点 击ok登录。


本文档详细介绍了如何在Linux环境中创建具有root权限的新用户,禁用root用户的SSH登录,以及设置SSH密钥登录,以增强系统安全性。首先,通过`adduser`命令创建新用户并授权,然后修改`/etc/ssh/sshd_config`以禁止root SSH登录,并重启SSH服务。最后,生成SSH密钥对,将公钥添加到`authorized_keys`文件中,配置SSH只允许密钥认证,从而实现无密码登录。

3754

被折叠的 条评论
为什么被折叠?



