Linux服务器的初步配置流程

开发网站的时候,常常需要自己配置Linux服务器。

本文记录配置Linux服务器的初步流程,也就是系统安装完成后,下一步要做的事情。这主要是我自己的总结和备忘,如果有遗漏,欢迎大家补充。

下面的操作针对Debian/Ubuntu系统,其他Linux系统也类似,就是部分命令稍有不同。

第一步:root用户登录

首先,使用root用户登录远程主机(假定IP地址是128.199.209.242)。


ssh root@128.199.209.242

这时,命令行会出现警告,表示这是一个新的地址,存在安全风险。键入yes,表示接受。然后,就应该可以顺利登入远程主机。

接着,修改root用户的密码。


passwd

第二步:新建用户

首先,添加一个用户组(这里假定为admin用户组)。


addgroup admin

然后,添加一个新用户(假定为bill)。


useradd -d /home/bill -s /bin/bash -m bill 

上面命令中,参数d指定用户的主目录,参数s指定用户的shell,参数m表示如果该目录不存在,则创建该目录。

接着,设置新用户的密码。


passwd bill 

将新用户(bill)添加到用户组(admin)。


usermod -a -G admin bill 

接着,为新用户设定sudo权限。


visudo 

visudo命令会打开sudo设置文件/etc/sudoers,找到下面这一行。


root    ALL=(ALL:ALL) ALL

在这一行的下面,再添加一行。


root    ALL=(ALL:ALL) ALL
bill    ALL=(ALL) NOPASSWD: ALL

上面的NOPASSWD表示,切换sudo的时候,不需要输入密码,我喜欢这样比较省事。如果出于安全考虑,也可以强制要求输入密码。


root    ALL=(ALL:ALL) ALL
bill    ALL=(ALL:ALL) ALL

然后,先退出root用户的登录,再用新用户的身份登录,检查到这一步为止,是否一切正常。


exit
ssh bill@128.199.209.242

第三步:SSH设置

首先,确定本机有SSH公钥(一般是文件~/.ssh/id_rsa.pub),如果没有的话,使用ssh-keygen命令生成一个(可参考我写的SSH教程)。

在本机上另开一个shell窗口,将本机的公钥拷贝到服务器的authorized_keys文件。


cat ~/.ssh/id_rsa.pub | ssh bill@128.199.209.242 'mkdir -p .ssh && cat - >> ~/.ssh/authorized_keys'# 或者在服务器端,运行下面命令

echo "ssh-rsa [your public key]" > ~/.ssh/authorized_keys

然后,进入服务器,编辑SSH配置文件/etc/ssh/sshd_config。


sudo cp /etc/ssh/sshd_config ~
sudo nano /etc/ssh/sshd_config

在配置文件中,将SSH的默认端口22改掉,可以改成从1025到65536之间的任意一个整数(这里假定为25000)。


Port 25000

然后,检查几个设置是否设成下面这样,确保去除前面的#号。


Protocol 2PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication noRSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keysUseDNS no

上面主要是禁止root用户登录,以及禁止用密码方式登录。

接着,在配置文件的末尾,指定允许登陆的用户。


AllowUsers bill

保存后,退出文件编辑。

接着,改变authorized_keys文件的权限。


sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/

然后,重启SSHD。


sudo service ssh restart# 或者

sudo /etc/init.d/ssh restart

下面的一步是可选的。在本机~/.ssh文件夹下创建config文件,内容如下。


Host s1
HostName 128.199.209.242
User bill
Port 25000

最后,在本机另开一个shell窗口,测试SSH能否顺利登录。


ssh s1

第四步:运行环境配置

首先,检查服务器的区域设置。


locale

如果结果不是en_US.UTF-8,建议都设成它。


sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8
sudo dpkg-reconfigure locales

然后,更新软件。


sudo apt-get update
sudo apt-get upgrade

最后,再根据需要,做一些安全设置,比如搭建防火墙,关闭HTTP、HTTPs、SSH以外的端口,再比如安装Fail2Ban,详细可参考这篇《Securing a Linux Server》。

转载于:https://www.cnblogs.com/peijie-tech/articles/3747887.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不要学习代码,要学会思考(转)

英文原文:Dont learn to code, learn to think 译/赖信涛 这是一个人人都在学习编程的时代:Code.org请了比尔盖茨,马克扎克伯格和克里斯波什等这些名人,来告诉你,每个人都可以编程;CoderDojo’s在各个国家悄…

Hadoop的改进实验(中文分词词频统计及英文词频统计)(4/4)

声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究。 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好&#xff0…

旋转函数_【视频课】:一次函数拓展应用(图象的平移、旋转、轴对称及5种解题方法)...

请点击上方“出彩数学”可以免费订阅哦停课不停学★ 特别关注:今日头条、西瓜视频——初三中考解题方法与技巧、初一、初二的同步讲解视频,正在陆续上传,请关注今天头条或西瓜视频(下载APP,搜索“出彩数学”,关注即可…

c语言中,关于延迟函数的理解

对于延迟&#xff0c;有些c基础的人都能够做到用for或while来实现 例如&#xff1a; #include <stdio.h>int main() {int i, j, k;for (i 1; i < 1000; i){for (j 1; j < 1000; j){for (k 1; k < 1000; k){}}}printf("hello\n");return 0; }1234…

火山去水印链接_在线批量去水印下载快手图集视频、抖音、火山等平台方法技巧!...

不管是做自媒体还是做电商或是工作素材采集&#xff0c;都离不开视频&#xff0c;视频比文字更好展示出产品、细节内容&#xff0c;就好比我们经常看的抖音、快手、火山、皮皮虾之类的短视频里面就有很多优秀的素材&#xff0c;相信有采集过的朋友都会遇到平台水印这个问题吧&a…

php CI 实战教程:如何去掉index.php目录

Windows下自由创建.htaccess文件的N种方法.htaccess是apache的访问控制文件&#xff0c;apache中httpd.conf的选项配合此文件&#xff0c;完美实现了目录、站点的访问控制&#xff0c;当然最多的还是rewrite功能&#xff0c;即URL重写&#xff0c;PHP中实现伪静态的一个重要途径…

十字连接焊盘_你应该知道的焊盘基础知识

PADSTACK&#xff1a;就是一组PAD的总称。Copper pad&#xff1a;在布线层(routing layer),注意不是内层&#xff0c;任何孔都会带有一个尺寸大于钻孔的铜盘(copper pad)。对内布线层这个铜盘大概14 mils&#xff0c;外布线层更大。如果这里需要导线连接,那么这个可以提供一个可…

平面上最近点对

在二维平面上的n个点中&#xff0c;如何快速的找出最近的一对点&#xff0c;就是最近点对问题。 一种简单的想法是暴力枚举每两个点&#xff0c;记录最小距离&#xff0c;显然&#xff0c;时间复杂度为O(n^2)。 在这里介绍一种时间复杂度为O(nlognlogn)的算法。其实&#xff0c…

Shell脚本中循环语句for,while,until用法

循环语句:BashShell中主要提供了三种循环方式&#xff1a;for、while和until。一、for循环for循环的运作方式&#xff0c;是讲串行的元素意义取出&#xff0c;依序放入指定的变量中&#xff0c;然后重复执行含括的命令区域&#xff08;在do和done 之间&#xff09;&#xff0c;…

git管理账户忘记了_强制找回GitLab管理员账户密码的方法

01. 概述如果gitlab的密码忘记了&#xff0c;由于没有邮箱服务支持&#xff0c;所以可以通过后台直接操作git-shell&#xff0c;先找回管理员的密码。操作步骤如下02. 环境使用docker部署的gitlab&#xff0c;因此需要多执行一步&#xff0c;如果是传统安装方法&#xff0c;不用…

交换2个数值的方法

如何交换2个变量的值&#xff1f;一般来说&#xff0c;想到的方法是再找一个临时变量&#xff0c;通过一种顺序存放的方式来达到交换值的效果。 比如有a,b这2个变量。取同类型的变量temp。 temp a ; a b ; b temp ; 这样就完成了交换。但这样做的话会多使用一个temp的内存。…

【问题收集·知识储备】Xcode只能选择My Mac,不能选择模拟器如何解决?

网友问题:请问打开一个应用&#xff0c;只能选择My Mac&#xff0c;不能选择模拟器如何解决&#xff1f; 答案: 下面将问答过程记录如下&#xff1a; CHENYILONG Blog请问打开一个应用&#xff0c;只能选择My Mac&#xff0c;不能选择模拟器如何解决&#xff1f; 网友的问题 09…

CSS垂直居中总结

原文:CSS垂直居中总结工作中遇到垂直居中问题&#xff0c;特此总结了一下几种方式与大家分享。本文讨论的垂直居中仅支持IE8 1、使用绝对定位垂直居中 <div class"container"><!--<div class"floater"></div>--><div class&quo…

单元测试代码:SpringTest+JUnit

2019独角兽企业重金招聘Python工程师标准>>> /*** JUnit单元测试父类&#xff0c;配置了Spring的基础环境。 <br/>* 可以作为Controller、Service、Dao单元测试的父类。* * author leiwenfansunion.cn*/ public class JUnitTestBase {public static XmlWebApp…

Java中发邮件的6种方法

2019独角兽企业重金招聘Python工程师标准>>> 1.官方标准JavaMail Sun&#xff08;Oracle&#xff09;官方标准&#xff0c;功能强大&#xff0c;用起来比较繁琐。 官方资料&#xff1a;http://www.oracle.com/technetwork/java/javamail/index.html 2.第三方实现…

用mongo实现mysql视图_浅谈 MongoDB 的视图

2018 年 9 月 18 日&#xff0c;由 Robert Gravelle 撰写在关系数据库中&#xff0c;视图是由查询定义的可搜索数据子集。视图有时被称为“虚拟表”&#xff0c;因为它们不存储数据&#xff0c;但可以像表一样被查询。MongoDB 最近在版本 3.4 中引入了视图。在今天的文章中&…

java char 空_2020重新出发,JAVA入门,数据类型

数据类型通过上一节&#xff0c;明白了变量就是申请内存来存储值&#xff0c;即当创建变量的时候&#xff0c;需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间&#xff0c;确定了变量的类型&#xff0c;即确定了数据需分配内存空间的大小&#xff0c;数据…

实验一报告

北京电子科技学院&#xff08;BESTI&#xff09; 实 验 报 告 课程&#xff1a;Java   班级&#xff1a; 1352    姓名&#xff1a;谈愈敏   学号&#xff1a;20135220 成绩&#xff1a;   指导教师&#xff1a;娄嘉鹏       实验日期…

mysql中下杠怎么打_怎么打字母下方的短横杠?,下横杠怎么打

下横杠怎么打,怎么打字母下方的短横杠?对于电脑操作&#xff0c;大多数成年人不及现在的孩子们。今天看到同事在编辑一篇文档&#xff0c;需要在字母下面打一条短横杠&#xff0c;如下图所示。但是同事怎么也打不出来&#xff0c;坐在旁边的他的孩子&#xff0c;看着有点不耐烦…

云计算解决方案——电信行业

2019独角兽企业重金招聘Python工程师标准>>> 云计算解决方案——电信行业 由于业务的快速发展&#xff0c;电信运营商每年要采购大量的服务器和存储设备&#xff0c;这些资源闲置或者偶尔被使用&#xff0c;造成大量的投资浪费。解决这一问题最好的方法是在企业内部…