安装

安装远程登录程序,安装安全的文件传输工具以及远程文件复制程序:

# yum update && yum install openssh openssh-clients openssh-servers

注意,也安装上服务器所需的相应软件包是一个不错的主意,因为或许在某个时刻,你想使用同一个机子来作为客户端和服务器。也可以不安装openssh-servers,这样就是只作为客户端使用。


进行配置:

修改文件/etc/ssh/sshd_config 


1、 更改 sshd 守护进程的监听端口,从 22(默认的端口值)改为一个更高的端口值(2000 或更大),但首先要确保所选的端口没有被占用。

例如,让我们假设你选择了端口 2500 。使用 netstat 来检查所选的端口是否被占用:

# netstat -npltu | grep 2500

假如 netstat 没有返回任何信息,则你可以安全地为 sshd 使用端口 2500,并且你应该在上面的配置文件中更改端口的设定,具体如下:

Port 2500

2、 只允许协议 2(LCTT 译注:SSHv1 已经被证明不安全,默认情况下 SSHv1 和 SSHv2 都支持,所以应该显示去掉如下配置行的注释,并只支持 SSHv2。):

Protocol 2


3、 配置验证超时的时间为 2 分钟,不允许以 root 身份登录,并将允许通过 ssh 登录的人数限制到最小:

LoginGraceTime 2mPermitRootLogin noAllowUsers gacanepa


4、 假如可能,使用基于公钥的验证方式而不是使用密码:

PasswordAuthentication noRSAAuthentication yesPubkeyAuthentication yes

这假设了你已经在你的客户端机子上创建了带有你的用户名的一个密钥对,并将公钥复制到了你的服务器上。

/etc/hosts


/etc/resolv.conf 特别指定 DNS 服务器的 IP 地址和搜索域,它被用来在没有提供域名后缀时,将一个给定的查询名称对应为一个全称域名。

在正常情况下,你不必编辑这个文件,因为它是由系统管理的。然而,若你非要改变 DNS 服务器的 IP 地址,建议你在该文件的每一行中,都应该遵循下面的结构:

nameserver - IP address

例如,

nameserver 8.8.8.8



/etc/host.conf 特别指定在一个网络中主机名被解析的方法和顺序。换句话说,告诉名称解析器使用哪个服务,并以什么顺序来使用。

尽管这个文件由几个选项,但最为常见和基本的设置包含如下的一行:

order bind,hosts

它意味着解析器应该首先查看 resolv.conf 中特别指定的域名服务器,然后到 /etc/hosts 文件中查找解析的名称。

##这一个没用过。



/etc/sysconfig/network 包含了所有网络接口的路由和全局主机信息。下面的值可能会被使用:

NETWORKING=yes|noHOSTNAME=value

其中的 value 应该是全称域名FQDN。

GATEWAY=XXX.XXX.XXX.XXX

其中的 XXX.XXX.XXX.XXX 是网关的 IP 地址。

GATEWAYDEV=value

在一个带有多个网卡的机器中, value 为网关设备名,例如 enp0s3。



 位于 /etc/sysconfig/network-scripts 中的文件(网络适配器配置文件)。

在上面提到的目录中,你将找到几个被命名为如下格式的文本文件。

ifcfg-name

其中 name 为网卡的名称,由 ip link show 返回


除了环回接口(loopback),你还可以为你的网卡指定相似的配置。注意,假如设定了某些变量,它们将为这个指定的接口覆盖掉 /etc/sysconfig/network 中定义的默认值。在这篇文章中,为了能够解释清楚,每行都被加上了注释,但在实际的文件中,你应该避免加上注释:##这个说的是,上一次在视频服务器做的时候,就因为后面加了注释,结果配置文件就是不生效。

HWADDR=08:00:27:4E:59:37 ### 网卡的 MAC 地址TYPE=Ethernet ### 连接类型BOOTPROTO=static ### 这代表着该网卡指定了一个静态地址。                      ### 如果这个值指定为 dhcp,这个网卡会从 DHCP 服务器获取 IP 地址,并且就不应该出现以下两行。IPADDR=192.168.0.18NETMASK=255.255.255.0GATEWAY=192.168.0.1NM_CONTROLLED=no ### 应该给以太网卡设置,以便可以让 NetworkManager 可以修改这个文件。NAME=enp0s3UUID=14033805-98ef-4049-bc7b-d4bea76ed2ebONBOOT=yes ### 操作系统会在启动时打开这个网卡。



hostnamectl 命令被同时用来查询和设定系统的主机名。

要展示当前的主机名,输入:

# hostnamectl status


要更改主机名,使用

# hostnamectl set-hostname [new hostname]

例如,

# hostnamectl set-hostname cinderella

要想使得更改生效,你需要重启 hostnamed 守护进程(这样你就不必因为要应用更改而登出并再登录系统):

# systemctl restart systemd-hostnamed


 RHEL 7 还包含 nmcli 工具,它可被用来达到相同的目的。要展示主机名,运行:

# nmcli general hostname

且要改变主机名,则运行:

# nmcli general hostname [new hostname]

例如,

# nmcli general hostname rhel7

这个挺麻烦的。有点偏离Linux的简约之道。


服务的开机是否启动的设置:

要开启该服务,运行:

# systemctl enable firewalld

另一方面,要禁用 firewalld,则需要移除符号链接:

# systemctl disable firewalld



对于systemctl需要一个清晰的认知和全面的学习。