使用 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 邮箱:…...
数据库(二)实验一: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批量操作
前言:在oracle中使用insert into values (),(),()多种方式都不能成功,记录正确的批量方法 注意:oracle有自己实现批量的方法,mysql适用的,oracle不一定适用 <insert id"insertTaskImportOpen" parameterType"l…...
关于一个web站点的欢迎页面
- 什么是一个web站点的欢迎页面? - 对于一个webapp来说,我们是可以设置它的欢迎页面的。 - 设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候…...
1050. 鸣人的影分身(dp划分)
题目: 1050. 鸣人的影分身 - AcWing题库 输入样例: 1 7 3输出样例: 8 思路: 代码: #include<iostream> using namespace std; const int N20; int f[N][N]; int main() {int T,m,n;cin>>T;while(T--)…...
51单片机点灯入门教程——2. 呼吸灯效果
基本说明 本章使用芯片:STC8H8K64U核心板 芯片手册:点此查看 Keil 开发环境配置:点此查看 本章学习内容:利用库函数,开发C程序,实现呼吸灯效果。 代码实例 需求:使用串口来控制呼吸灯效果&…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
