在Ubuntu 14.04上保护SSH的安全

创建新服务器后,应进行一些配置调整,以增强服务器的安全性。

创建一个新用户

作为root用户,���有权对服务器执行任何所需的操作-无限制。因此,最好避免对服务器上的每个任务使用root用户帐户。让我们开始一个新用户。替换username为所需的用户名:

adduser username

选择一个新的安全密码并相应地回答问题(或只需按ENTER以使用默认值)。

授予用户root特权

新的用户帐户没有权限自己的主文件夹外,并不能运行,将改变服务器的命令(如installupdateupgrade)。为了避免使用root帐户,我们将为用户提供root特权。有两种方法可以执行此操作:

将用户添加到sudo组

简单的方法是将用户添加到sudo组中。替换username为所需的用户名:

adduser username sudo

这会将用户添加到组中sudo。该组具有使用sudo访问权限运行命令的特权。

修改sudoers文件

另一种方法是将用户放入sudoers文件中。如果您的服务器有多个具有root特权的用户,那么这种方法会更好一些,因为如果有人与该sudo组打乱了,您仍然可以运行具有root特权的命令来在服务器上工作。

首先,运行以下命令:

visudo

这将打开sudoers文件。该文件包含可以以root特权运行命令的组和用户的定义。

root    ALL=(ALL:ALL) ALL

在此行之后,输入您的用户名并授予其完整的root特权。相应地替换username

username    ALL=(ALL:ALL) ALL

保存并关闭文件(在nano中为Ctrl + OCtrl + X)。

测试您的新用户

要登录到您的新用户帐户不logoutlogin,只需拨打:

su username

使用以下命令测试sudo权限:

sudo apt-get update

外壳程序将要求您输入密码。如果sudo配置正确,则应该更新您的存储库。否则,请查看前面的步骤。

现在,从新用户注销:

exit

Sudo设置完成。

保护SSH

本指南的下一部分涉及确保ssh登录到服务器的安全。首先,更改root密码:

passwd root

选择一些难以猜测但可以记住的东西。

SSH密钥

SSH密钥是一种更安全的登录方式。如果您对SSH密钥不感兴趣,请跳至本教程的下一部分。

使用以下Vultr Doc制作SSH密钥:如何生成SSH密钥?

获得公钥后,再次使用新用户登录。

su username

现在将.ssh目录和authorized_keys文件放在该用户帐户的主目录中。

cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys

将您从其他教程生成的公钥添加到authorized_keys文件中。

 nano .ssh/authorized_keys

保存文件,然后更改该文件的权限。

chmod 600 .ssh/authorized_keys

返回到root用户。

exit

SSH配置

现在,我们将使SSH守护程序更安全。让我们从配置文件开始:

nano /etc/ssh/sshd_config
更改SSH入站端口

此步骤将更改用于访问服务器的端口,这是完全可选的,但建议这样做。

找到带有Port配置的行,应如下所示:

Port 22

现在,将此端口更改为所需的任何端口。它必须大于1024。

Port 4422
禁用root ssh登录

此步骤将禁用通过SSH的root登录,这是完全可选的,但强烈建议使用

找到这一行:

PermitRootLogin yes

...并将其更改为:

PermitRootLogin no

这将使服务器更加安全,以防僵尸程序尝试使用用户root和端口22进行暴力破解和/或常见密码。

禁用X11转发

此步骤将禁用X11转发,如果您使用某些远程桌面程序访问服务器,请不要执行此操作。

找到X11行:

X11Forwarding yes

...它变为:

X11Forwarding no
重新启动SSH守护程序

既然我们已经进行了更改以保护SSH登录,请重新启动SSH服务:

service ssh restart

这将重新启动并重新加载服务器设置。

测试变更

在不断开当前ssh会话连接的情况下,打开一个新的终端或PuTTY窗口并测试另一个SSH登录。

ssh -p 4422 username@SERVER_IP_OR_DOMAIN

如果一切顺利,我们已成功加强了您服务器的安全性。请享用!



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息