当前位置: 首页 > news >正文

使用 Ubuntu 20.04 进行初始服务器设置

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。

使用 Ubuntu 20.04 进行初始服务器设置

介绍

首次创建新的 Ubuntu 20.04 服务器时,应该执行一些重要的配置步骤作为初始设置的一部分。这些步骤将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。

第 1 步 — 以 root 身份登录

要登录服务器,这个需要知道服务器的公共 IP 地址密码,或者(如果安装了用于身份验证的 SSH 密钥)root用户帐户的私钥。如果尚未连接到服务器,请使用以下命令以root用户身份登录:

ssh root@your_server_ip

如果出现有关主机真实性的警告,点接受。如果使用密码身份验证,要提供root密码进行登录。如果使用受密码保护的 SSH 密钥,则每次会话首次使用该密钥时,系统可能会提示输入密码。如果第一次使用密码登录服务器,系统可能还会提示更改root密码。

关于root

root用户是 Linux 环境中的管理用户,拥有非常广泛的权限**。由于root帐户的权限较高,因此不鼓励定期使用它。这是因为root**帐户能够做出非常具有破坏性的更改,比如:删库跑路。

登录之后的下一步是设置一个新的用户帐户,并降低日常使用的权限。

第 2 步 — 创建新用户

以root身份登录后,将能够添加新的用户帐户。之后,将使用这个新帐户而不是root登录。

此示例创建一个名为sammy的新用户:

adduser sammy

然后系统会提示输入一个密码,这里建议给一个复杂的。之后还有其他的设置项,可以直接点击ENTER跳过,也可以一项一项去写。

第 3 步 — 授予管理权限

现在我们有了一个具有常规帐户权限的新用户帐户。下来我们为普通帐户设置所谓的超级用户或**root权限。**这将允许我们的普通用户通过在命令前添加sudo单词来运行具有管理权限的命令。

要将这些权限添加到我们的新用户,我们需要将该用户添加到sudo组。默认情况下,在 Ubuntu 20.04 上,允许sudo组成员的用户使用该sudo命令。

root身份运行以下命令将新用户添加到sudo组:

usermod -aG sudo sammy

现在,当以普通用户身份登录时,可以在命令之前输入sudo以使用超级用户权限运行它们。

第 4 步 — 设置基本防火墙

Ubuntu 20.04 服务器可以使用 UFW 防火墙来确保只允许连接到某些服务。我们可以使用此应用程序设置基本防火墙。UFW常见操作在这里。

应用程序可以在安装时向 UFW 注册其配置文件。这些配置文件允许 UFW 按名称管理这些应用程序。OpenSSH 服务允许我们现在连接到我们的服务器,它有一个在 UFW 注册的配置文件。

可以通过输入以下内容来查看:

ufw app list
OutputAvailable applications:OpenSSH

我们需要确保防火墙允许 SSH 连接,以便下次可以重新登录。我们可以通过键入以下内容来允许这些连接:

ufw allow OpenSSH

之后,我们可以通过键入以下内容来启用防火墙:

ufw enable

键入y并按ENTER继续。可以通过键入以下内容看到仍然允许 SSH 连接:

ufw status
OutputStatus: activeTo                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

由于防火墙当前阻止除 SSH 之外的所有连接,如果安装和配置其他服务,则需要调整防火墙设置以允许流量进入。

第 5 步 — 为普通用户启用外部访问

现在我们有了一个日常使用的普通用户,我们需要确保可以直接通过 SSH 连接到该帐户。

注意:sudo在验证可以使用新用户登录并使用之前,建议保持以root身份登录。这样,如果遇到问题,可以以root身份进行故障排除并进行任何必要的更改。

为新用户配置 SSH 访问的过程取决于服务器的root帐户是使用密码还是 SSH 密钥进行身份验证。

如果root账户使用密码认证

如果使用密码登录root帐户,则为SSH启用密码身份验证。可以通过打开一个新的终端会话并使用 SSH 和新用户名来通过 SSH 连接到新用户帐户:

ssh sammy@your_server_ip

输入普通用户的密码登录。如果需要使用管理权限运行命令,请输入如下内容:

sudo command_to_run

每次会话首次使用sudo时(以及此后定期),系统都会提示输入常规用户密码。

为了增强服务器的安全性,强烈建议设置 SSH 密钥而不是使用密码身份验证。请按照在 Ubuntu 20.04 上设置 SSH 密钥的来了解如何配置基于密钥的身份验证。

如果root账户使用SSH密钥认证

如果使用 SSH 密钥登录到root帐户,则SSH 的密码身份验证将被*禁用。*需要将本地公钥的副本添加到新用户的~/.ssh/authorized_keys文件中才能成功登录。

由于公钥已位于服务器上的帐户~/.ssh/authorized_keys文件中,因此我们可以将该文件和目录结构复制到现有会话中的新用户帐户中。

复制具有正确所有权和权限的文件的最简单方法是使用命令rsync。这会复制root用户的.ssh目录、保留权限并修改文件所有者,所有这些都通过单个命令完成。确保更改以下命令的突出显示部分以匹配常规用户名:

**注意:**该rsync命令对待以尾部斜杠结尾的源和目标的方式与不以尾部斜杠结尾的源和目标不同。在下面使用时rsync,请确保源目录 ( ~/.ssh)包含尾部斜杠(检查以确保你没有使用~/.ssh/)。

如果不小心在命令中添加了尾部斜杠,rsync则会将根帐户目录的内容复制到用户的目录,而不是复制整个目录结构。这些文件将位于错误的位置,并且 SSH 将无法找到并使用它们。

rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

现在,在本地计算机上打开一个新的终端会话,并使用 SSH 和新用户名:

ssh sammy@your_server_ip

现在应该无需使用密码即可登录新用户帐户。请记住,如果需要以管理权限运行命令,请sudo在其前面键入:

sudo command_to_run

相关文章:

使用 Ubuntu 20.04 进行初始服务器设置

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 使用 Ubuntu 20.04 进行初始服务器设置 介绍 首次创建新的 Ubuntu 20.04 服务器时,应该执行一些重…...

【SpringCloud】6、Spring Cloud Gateway路由配置

在 Spring Cloud Gateway 中配置 uri 有三种方式,包括: 1、WebSocket路由 spring:cloud:gateway:routes:- id: bt-apiuri: ws://localhost:9090/predicates:...

pdf转换成word怎么转?一篇文章教你轻松搞定

pdf转换成word怎么转?你是否曾经遇到过需要将PDF文件转换成Word格式的情况?比如,你需要编辑一个文档,或者想将一些电子书或报告复制到Word中以便于编辑或重新排版。在这种情况下,如何将PDF文件转换成Word格式呢&#x…...

【中南林业科技大学】计算机组成原理复习包括题目讲解(超详细)

来都来了点个赞收藏关注一下再走呗🌹🌹🌹🌹 第1章:绪论 1.冯诺依曼机特点,与现代计算机的区别 冯诺依曼计算机的基本思想是:程序和数据以二进制形式表示,存储程序控制。在计算机中&…...

恭喜 Databend 上榜 2023 开源创新榜「优秀开源项目 」

近日,国家科技传播中心见证了一场开源界的重要事件:由中国科协科学技术传播中心、中国计算机学会、中国通信学会和中国科学院软件研究所联合主办,CSDN 承办的 2023 年开源创新榜专家评审会圆满落幕。由王怀民院士担任评委会主任,评…...

网络连通性批量检测工具

一、背景介绍 企业网络安全防护中,都会要求配置物理网络防火墙以及主机防火墙,加强对网络安全的防护。云改数转之际,多系统上云过程中都会申请开通大量各类网络配置,针对这些复杂且庞大的网络策略开通配置,那么在网络配…...

2023高级人工智能期末总结

1、人工智能概念的一般描述 人工智能是那些与人的思维相关的活动,诸如决策、问题求解和学习等的自动化; 人工智能是一种计算机能够思维,使机器具有智力的激动人心的新尝试; 人工智能是研究如何让计算机做现阶段只有人才能做得好的…...

Oracle数据库迁移所有文件到新挂载磁盘路径

主要步骤: 1、停掉服务, 2、关闭数据库shutdown immediate 3、移动数据文件到新的位置。 4、启动到mount状态,如果也移动了ctl,需要启动到nomount下,生成参数文件。 5、alter database rename 文件名 to 新位置&a…...

基于YOLOv7算法的高精度实时安全背心目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要:基于YOLOv7算法的高精度实时安全背心目标检测系统可用于日常生活中检测与定位安全背心,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训…...

Mac——VsCode使用格式化工具进行整理和格式化

1. 打开VSCode编辑器。 2. 点击左下角⚙️图标,打开设置 3. 进入设置后,你会看到一个搜索框,在搜索框中输入 format on save 来查找相关设置项。 4. 在设置列表中找到 Editor: Format On Save 选项,勾选它以启用在保存文件时自动格…...

73.乐理基础-打拍子-还原号、临时变音记号在简谱中的规则

上一个内容:72.乐理基础-打拍子-加延音线的节奏型-CSDN博客 下图中1-13,就是四几拍中所有可能出现的节奏型,以及它们的组合方式,需要练习,可以买一本视唱书去练习,搜乐谱练习,自己写节奏型根据…...

一款超酷的一体化网站测试工具:Web-Check

Web-Check 是一款功能强大的一体化工具,用于发现网站/主机的相关信息。用于检查网页的工具,用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题,并提供修复建议。 它只需要输入一个网站就可以查看一个网…...

MockServer简单使用记录

下载源码 下载git源码:git clone https://github.com/mock-server/mockserver.git 通过执行文件编译成jar包 ./mvnw clean package 可能会报错。 启动命令 java -jar ./mockserver-netty-jar-with-dependencies.jar -serverPort 1080 -proxyRemotePort 80 -pro…...

AI+金融:大模型引爆金融科技革命

仅供机构投资者使用 证券研究报告|行业深度研究报告 AI金融:大模型引爆金融科技革命 “AI应用”系列(二) 华西计算机团队 2023年7月28日 分析师:刘泽晶 联系人:刘波 SAC NO:S1120520020002 邮箱&#xff1a…...

数据库(二)实验一:MySQL数据库的C/S模式部署

实验要求 在云服务器上启动两个实例Server和Client,并实现两个实例之间的免密ssh登录。在Server和Client上分别安装MySQL,在Server上创建数据库和用户,在Client上远程连接Server的数据库。 实验内容 创建两个云服务器实例 在腾讯云购买两个…...

RLHF几大常用框架实践对比(trlx、deepspeedchat、colossalaichat)

原文:RLHF几大常用框架实践对比(trlx、deepspeedchat、colossalaichat) - 知乎 目录 收起 一、RLHF的作用 二、实践效果 三、怎么做 1、框架 2、算法 3、数据 4、调参 一、RLHF的作用 从InstructGPT的论文中看,RLHF目的…...

Oracle/Myql批量操作

前言&#xff1a;在oracle中使用insert into values (),(),()多种方式都不能成功,记录正确的批量方法 注意&#xff1a;oracle有自己实现批量的方法&#xff0c;mysql适用的&#xff0c;oracle不一定适用 <insert id"insertTaskImportOpen" parameterType"l…...

关于一个web站点的欢迎页面

- 什么是一个web站点的欢迎页面&#xff1f; - 对于一个webapp来说&#xff0c;我们是可以设置它的欢迎页面的。 - 设置了欢迎页面之后&#xff0c;当你访问这个webapp的时候&#xff0c;或者访问这个web站点的时候&#xff0c;没有指定任何“资源路径”&#xff0c;这个时候…...

1050. 鸣人的影分身(dp划分)

题目&#xff1a; 1050. 鸣人的影分身 - AcWing题库 输入样例&#xff1a; 1 7 3输出样例&#xff1a; 8 思路&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; const int N20; int f[N][N]; int main() {int T,m,n;cin>>T;while(T--)…...

51单片机点灯入门教程——2. 呼吸灯效果

基本说明 本章使用芯片&#xff1a;STC8H8K64U核心板 芯片手册&#xff1a;点此查看 Keil 开发环境配置&#xff1a;点此查看 本章学习内容&#xff1a;利用库函数&#xff0c;开发C程序&#xff0c;实现呼吸灯效果。 代码实例 需求&#xff1a;使用串口来控制呼吸灯效果&…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

goreplay

1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具&#xff0c;可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长&#xff0c;测试它所需的工作量也会呈指数级增长。GoRepl…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性&#xff0c;分别代表什么&#xff0c;有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...