Linux服务器的初步配置流程

标签: Developer | 发表时间:2014-03-14 11:28 | 作者:阮一峰
出处:http://www.ruanyifeng.com/blog/

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

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

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

第一步:root用户登录

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

   
ssh [email protected]

这时,命令行会出现警告,表示这是一个新的地址,存在安全风险。键入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 [email protected]

第三步:SSH设置

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

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

   
cat ~/.ssh/id_rsa.pub | ssh [email protected] '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 2

PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

UseDNS 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》

(完)

文档信息

相关 [linux 服务器] 推荐:

centos linux 服务器安全

- - 操作系统 - ITeye博客
我们必须明白:最小的权限+最少的服务=最大的安全. 所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小话,这样才能保证服务器最大的安全. 下面是CentOS服务器安全设置,供大家参考. 一、注释掉系统不需要的用户和用户组. 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦.

Linux服务器性能评估

- peigen - 唐福林-博客雨
一、影响Linux服务器性能的因素. 影响性能因素 评判标准 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0 Swap Out(so)=0. Per CPU with 10 page/s More Swap In & Swap Out 磁盘 iowait % < 20% iowait % =35% iowait % >= 50%.

[转]Linux下安装Oracle11g服务器

- - 小鸥的博客
                     Linux服务器:SuSe10 sp2 64位.                      Oracle服务器:Oracle11gR2 64位. Linux安装Oracle系统要求. 一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小.  2.修改操作系统核心参数.

Linux服务器性能评估

- - 操作系统 - ITeye博客
一、影响Linux服务器性能的因素. 二、系统性能评估标准. %user:表示CPU处在用户模式下的时间百分比. %sys:表示CPU处在系统模式下的时间百分比. %iowait:表示CPU等待输入输出完成时间的百分比. swap in:即si,表示虚拟内存的页导入,即从SWAP DISK交换到RAM.

为生产服务器选择合适的Linux发行版

- Derek - 花开的地方
抛出这个问题,是因为之前与同事的争论以及最近与同事的争论——我可保持沉默,但不可以停止思考. 我想大多数有经验的Linux用户,会觉得这个问题不是问题,那么请不要急,待会儿我会让你知道这个问题为什么是个问题. 首先,在讨论这个问题之前, 我们一定要先了解自己的自身的条件:即我们自身的技术能力——假如我们有能力像RedHat、Google一样,自己跟踪Linux以及开源社区,那么,我们完成可以搞个自己用的发行出来.

Unix/Linux时区服务器因版权诉讼关闭

- Lamo - Solidot
Unix/Linux时区服务器的维护者Arthur David Olson通过邮件列表宣布,由于时区服务器卷入了侵犯版权的诉讼案,ftp://elsie.nci.nih.gov服务器和邮件列表将相继关闭. 原来是一家名叫Astrolabe的公司购买了《The American Atlas》的版权. 该书是一本天文测量历史参考书,收集了美国从1850年到2000年的地理位置、时区和完整时钟设置历史.

Linux服务器的16个监控命令

- - inJava
想不想知道你的服务器到底在干什么?那么你要知道本文介绍的这些基本命令. 一旦你熟悉掌握了这些命令,就为成为专业的 Linux系统管理员打下了基础. 你可以通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版. 比如说,SUSE Linux就有一款出色的、图形化配置和管理工具YaST,KDE的KDE System Guard同样很出色.

你需要知道的 16 个 Linux 服务器监控命令

- - 水煮沉浮
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色.

最佳免费Linux RADIUS服务器推荐

- - 博客 - 伯乐在线
本文译自  iSystemAdmin 的 《 What is RADIUS Server and best free RADIUS Server for Linux》. 看到radius这个词,我们都会想到圆心到圆周之间的长度(半径). 然而在计算机领域,它代表一个为连接到网络的计算机集中提供认证、授权和计费( Authentication, Authorization,  Accounting  AAA)的网络协议.