一篇文章搞定hadoop创建多用户免密登录ssh

Linux多个虚拟机创建新用户并免密登录

前言:

使用 root 用户运行 Hadoop 集群可能会带来安全风险,因为 root 用户具有超级管理员权限,一旦有任何错误操作,可能会对系统造成严重损害。所以,我们通常推荐创建一个专门的用户(例如:hduser)来运行 Hadoop 。

创建新用户并配置免密登录的步骤:

1.创建新用户:

sudo adduser hduser  

//hduser是创建薪用户的名称。

//adduser是linux中创建新用户的命令,这个命令会创建新的用户账户,并设置其相关的系统属性。基本的adduser命令语法是:“adduser [options] user”

//由于我是以root用户输入代码,所以不需要在前面加sudo。

//若想进入root用户可以在最开始就输入sudo su并输入root用户的密码。

2.为新用户添加权限:

两种方法:可以先创建一个 "sudo" 组,或者直接将用户添加到 "wheel" 组,因为在很多 Linux 发行版中,"wheel" 组的成员默认具有 sudo 权限。

usermod -aG wheel hduser

(1)方法一:直接将用户添加到 "wheel" 组中:

//直接将用户添加到 "wheel" 组,因为在很多 Linux 发行版中,"wheel" 组的成员默认具有 sudo 权限

(2)方法二:创建一个新的 "sudo" 组:

[1]由于要检验这个方方是否可行创建了一个新的用户:myuser并修改密码(如何修改密码请看3.修改新用户密码)。

[2]创建一个新的 "sudo" 组并将用户添加到这个组

[3]用户不在 sudoers 文件中,这意味着你的用户没有被授权执行 sudo 命令。

[4]要将用户添加到 sudoers 文件中,你需要以 root 用户身份进行操作。

{1}首先”exit”退出现在处在的用户,并输入”sudo su”命令和密码进入root用户。

{2}运行以下命令以编辑 sudoers 文件:

visudo

出现以下页

按键盘下箭头向下翻找到类似以下的行:

并按键盘i插入修改修改成以下

并按键盘Esc键shift键冒号键输入wq保存回车退出。

注释:(修改后不会影响 root 用户的权限。在 sudoers 文件中,每个用户都有自己的行,这些行包含了该用户可以执行的命令以及其它特定的配置。因此,在该文件中添加新的用户行或修改现有的用户行不会影响其他用户的权限。

在上面的示例中,将 myuser 添加到 sudoers 文件中只会授予该用户执行 sudo 命令的权限。root 用户的权限不会受到任何影响,因为 root 用户已经拥有系统中的最高权限,并且可以执行任何命令。

请注意,修改 sudoers 文件时需要格外小心,因为一些错误的更改可能会导致系统不稳定或无法启动。如果你不确定如何进行修改,请咨询具有适当权限的用户或系统管理员以获取帮助。)

{3}切换到myuser用户并检验对比可以发现权限修改成功,可以进行接下来的操作。

3.修改新用户密码:  

修改新建用户的密码,通常有两种方法来重置密码:

(将所有虚拟机上的新建用户密码都重新修改以确保后续传输免密密码验证正常运行)

(1)使用 passwd 命令:

以 root 用户身份登录,然后使用 passwd 命令来更改用户的密码。例如,如果你想要重置名为 "h

duser" 的用户的密码,可以执行以下命令:

sudo passwd hduser

我设置的密码是:1,进入hduser用户检验

(2)使用 passwd 命令自行修改密码:(你知道你自己的密码并想修改密码)

如果你是新建用户的所有者,可以使用 passwd 命令自行修改密码。例如,以新建用户 "hdwuser" 的身份执行以下命令:

passwd

注:新密码想改成数字是不可行的会出现“密码是一个回文”,你需要设置成英文(我设置的是:woaixuexi)。

(将所有虚拟机上的新建用户密码都重新修改以确保后续传输免密密码验证正常运行)

4.必要的准备

(1)确认远程机器上的 sshd 服务已经启动并配置正确。你可以通过运行以下命令来检查:

sudo systemctl status sshd

如果服务没有启动,你可以使用以下命令启动它

sudo systemctl start sshd

(2)另外,确保远程机器上的 sshd 配置文件中允许使用公钥进行身份验证。你可以编辑 /etc/ssh/sshd_config 文件,并确保以下行没有被注释掉:

进入ssh目录

sudo cd /etc/ssh/

打开并编辑sshd_config文件

sudo vim sshd_config

确保以下行没有被注释掉:

PubkeyAuthentication yes

并在其中添加以下两行

RSAAuthentication yes

PubkeyAuthentication yes

(3)如果修改了配置文件,记得重启 sshd 服务使更改生效:

sudo systemctl restart sshd

(4)最后,如果你确定密码和配置都是正确的,但仍然无法通过密钥进行连接,可能是由于权限问题导致的。请确保远程机器上的 ~/.ssh 目录的权限设置正确。你可以执行以下命令来修复权限问题:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

这将确保 ~/.ssh 目录的权限为 700(只有所有者有读写执行权限),并将 authorized_keys 文件的权限设置为 600(只有所有者有读写权限)。

5.配置 ssh 免密码登录:

(1)生成秘钥

ssh-keygen -t rsa

(1)确认在本地机器上生成了公钥文件。你可以运行以下命令来查看公钥文件的内容:

cat ~/.ssh/id_rsa.pub

(2)将公钥文件复制到远程机器上的 authorized_keys 文件中。你可以运行以下命令来将公钥文件复制到远程机器上并输入远程机器的密码:

cat ~/.ssh/id_rsa.pub | ssh hduser@192.168.200.100 'cat >> ~/.ssh/authorized_keys'

将 hduser 替换为有效的用户名,192.168.200.100 替换为第二个虚拟机的正确 IP 地址。(将其他的虚拟机也重新一遍来一遍)

6.检验免秘钥设置配置成功

输入要连接的远程虚拟机用户名称和ip地址

ssh hduser@192.168.100.x

将 hduser 替换为有效的用户名,192.168.100.x 替换为第二个虚拟机的正确 IP 地址。(将其他的虚拟机也重新一遍来一遍)

配置成功。

7.如何删除用户:

(1)以管理员身份登录到系统上,打开终端或命令行界面

(2)运行以下命令来删除用户:

sudo userdel username

//username是你要删除的用户

(3)系统会删除用户账户。如果需要,还可以选择删除用户的主目录和邮件存储目录。运行以下命令来删除用户的主目录:

sudo rm -r /home/username

//这将删除名为 username 的用户的主目录。如果你不想删除主目录,请跳过此步骤。

(4)删除用户的邮件存储目录(如果存在)。运行以下命令来删除邮件存储目录:

sudo rm -r /var/mail/username

//这将删除名为 username 的用户的邮件存储目录。如果你不想删除邮件存储目录,请跳过此步骤

(5)删除用户的邮件存储目录(如果存在)。运行以下命令来删除邮件存储目录

sudo rm -r /var/mail/username

//这将删除名为 username 的用户的邮件存储目录。如果你不想删除邮件存储目录,请跳过此步骤。

请注意,删除用户是一个敏感操作,请确保你要删除的用户是正确的,并且你有足够的权限执行该操作。删除用户后,与该用户相关的文件和数据都将被永久删除,请谨慎操作!!!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值