Ubuntu下使用SSH登录root用户

前言

  Ubuntu默认没有安装SSH服务器是出于安全考虑。SSH(Secure Shell)是一种通过加密通道进行远程访问和管理的协议,它提供了对计算机系统的安全访问和通信。然而,由于SSH服务器可能成为潜在的安全风险,因此Ubuntu默认情况下并不安装SSH服务器。

  用户在需要使用SSH服务器时可以手动安装并配置SSH服务器,以便在需要时进行远程访问和管理。安装SSH服务器后,管理员应该采取适当的安全措施,如配置防火墙、限制用户访问权限、使用密钥认证等,以确保系统安全可靠。

  接下来的文章中将带大家使用Ubuntu 23.10来安装SSH服务并通过root用户登录

一:在Ubuntu上启用SSH

(一):安装SSH服务并启用

Ⅰ:打开终端安装所需要的SSH服务
    sudo apt update                     # 更新系统软件包索引
    sudo apt install openssh-server     # 安装SSH服务
Ⅱ:开启SSH服务以及查看SSH服务
    sudo systemctl status ssh           # 查看SSH服务是否被启动
    sudo systemctl start ssh            # 开启SSH服务
    sudo systemctl stop ssh             # 关闭SSH服务
    sudo systemctl restart ssh          # 重启SSH服务

1699344213543.jpg

(二):远程连接SSH服务器

1. 基于密码验证连接

  上面我们开启了服务器的SSH服务,那么就是说我可以在其它任意一台带有SSH工具的电脑上进行连接,比如我们上面安装了SSH工具,就可以按照如下方式连接到其它服务器。

语法:ssh -p端口 主机名@IP地址
比如:ssh -p22 ubuntu@111.xxx.xxx.158

》第一次连接时,将看到下面的信息:
    The authenticity of host '111.xxx.xxx.158 (111.xxx.xxx.158)' can't be established.
    ED25519 key fingerprint is SHA256:Xkr3IeMVd1iSqd+uHjsxaia6QYBP1CmncAnrev9tGQE.
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
》输入yes并且你将会被提示输入你的密码:
    Warning: Permanently added '111.231.171.158' (ED25519) to the list of known hosts.
    ubuntu@111.231.171.158's password:
》输入正确密码后会看到默认的Ubuntu消息:
    Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-86-generic x86_64)
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    ......
这样就可以正常使用了,忘了说,若不知道ip地址的话则可以通过ip a 或 ip addr ls命令查询

   说到这其实我们已经可以通过如 X S h e l l 工具来进行服务器的连接了 \color{#f00}{说到这其实我们已经可以通过如XShell工具来进行服务器的连接了} 说到这其实我们已经可以通过如XShell工具来进行服务器的连接了

2. 基于密钥验证连接

  使用密钥登录可以提供更高的安全性,而且可以免去记忆密码的烦恼,其次还有一个重要的就是防止密码暴力破解,因为密码登录存在被暴力破解的风险,特别是当远程登录服务暴露在公网时。而使用密钥登录可以有效防止密码暴力破解攻击,因为私钥相对于密码来说更难以被猜测或破解。

  所以默认通过ssh客户端命令登录远程服务器,需要提供远程系统上的帐号与密码,但为了降低密码泄露的机率和提高登陆的方便性,建议使用密钥验证方式。
image.png

【#### 操作步骤 ####】
Ⅰ:首先看看本地有没有公钥:
    cat ~/.ssh/id_rsa.pub
Ⅱ:若查看为空的话则需要生成一个(一路回车三次即可,要看详情则看下面的补充1)
    语法:
        ssh-keygen [-t rsa] [-b 1024] [-C comment]
            -t:指定要创建的密钥类型,默认是rsa
            -b:指定密钥长度,默认是2048
            -C:指定注释文字,默认是邮箱地址
    使用方式:
        方式1:需要手动确认
            ssh-keygen -t rsa -C test@qq.com
        方式2:无需回车自动应答方式
            ssh-keygen -t rsa -C test@qq.com -f ~/.ssh/id_rsa -P ""
Ⅲ:把我们生成的公钥拷贝到远程机器的authorized_keys文件里:
    语法:
        ssh-copy-id [-i [identity_file]] [user@]machine
            ssh-copy-id:命令
            -i :        指定下发公钥的路径
            [user@]:    以什么用户身份进行公钥分发(root),如果不输入,表示以当前登录的系统用户身份分发公钥
            machine:    下发公钥至那台服务器, 填写远程主机IP地址
    使用方式:
        方式1:推送公钥,[将A的公钥写入B的~/.ssh/authorized_keys文件中] 需要手动确认
            ssh-copy-id -i ~/.ssh/id_rsa.pub xiaofeng@192.168.224.134
Ⅳ:这样就可以直接登录了服务器B的xiaofeng用户了,不需要输入密码了
    登录测试
        ssh xiaofeng@192.168.224.134
补充1:
    Enter file in which to save the key (/home/your_username/.ssh/id_rsa):
        系统会询问你希期将新生成的密钥保存到哪个文件中。默认情况下,它会建议将密钥保存到:
        /home/your_username/.ssh/id_rsa,你可以按Enter键接受默认值,也可以输入其他路径和文件名。
    Enter passphrase (empty for no passphrase):
        如果你希望为私钥设置一个额外的密码保护,系统会要求你输入一个passphrase。这个passphrase并不是必需的,
        你可以留空以跳过此步骤,但添加passphrase能够提高私钥的安全性。
    Enter same passphrase again:
    如果你在上一步输入了passphrase,系统会再次要求你确认该passphrase,以确保你没有输错。

二:在Ubuntu上使用Root用户

  当使用Ubuntu操作系统时,默认情况下是禁止root用户登录的,这是为了增强系统的安全性。然而,在某些特定情况下,你可能需要启用root用户登录。在本节中,我们将详细介绍如何在Ubuntu 23.10版本下开启root用户登录。

  若使用的是 Ubuntu 22.04 及以下则无需操作这一部分,只需处理最后一个框

》》》:为了更好编辑文件则使用vim
    执行: sudo apt install vim

Ⅰ:在普通用户下为root用户设置密码(这里我的密码是“1234qwer.”)
    sudo passwd root
Ⅱ:测试之前的root用户是否可以登录(成功后执行exit退出)
    su -
Ⅲ:修改50-ubuntu.conf配置文件(若没有此文件则找类似的文件)
    sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
        后面添加如下配置:
            greeter-show-manual-login=true
            all-guest=false
Ⅳ:修改gdm-autologin配置文件(若没有此文件则找类似的文件)
    sudo vim /etc/pam.d/gdm-autologin
        注释如下配置:
            # auth  required   pam_succeed_if.so user != root quiet_success
Ⅴ:修改gdm-password配置文件(若没有此文件则找类似的文件)
    sudo vim /etc/pam.d/gdm-password
        注释如下配置:
            # auth  required   pam_succeed_if.so user != root quiet_success
Ⅵ:修改/root/.profile文件
    sudo vim /root/.profile
        注释如下配置:
            # mesg n 2> /dev/null || true
        添加如下配置:
            tty -s&&mesg n || true
到这也就完成了root用户的设置,我们注销当前用户重新选择root用户即可完成登录

注:在 r o o t 用户下虽然不用 s u d o 命令提高权限,但是需要谨慎操作 \color{#f00}{注:在root用户下虽然不用sudo命令提高权限,但是需要谨慎操作} 注:在root用户下虽然不用sudo命令提高权限,但是需要谨慎操作

  我们已经成功在Ubuntu上设置了root用户,并且也可以使用主机登录上root用户,但是细心的会发现,使用远程的SSH工具并不可以登录root用户,其实这个是Ubuntu的安全策略,一旦root密码泄露可以说和这个系统说拜拜了。

修改/etc/ssh/sshd_config配置文件
    sudo vim /etc/ssh/sshd_config
        修改Authentication一栏里的配置:
        注释:
            #PermitRootLogin prohibit-password
        添加:
            PermitRootLogin yes   
重启ssh服务:
    sudo systemctl restart ssh
               
补充说明:
    这个配置文件是SSH服务器的配置文件,其中包含各种SSH服务器的设置,
    如允许的协议版本、登录认证方法、加密方式等
  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值