찾다
운영 및 유지보수리눅스 운영 및 유지 관리키 인증을 사용하여 CentOS 서버에서 보다 안전한 SSH 로그인을 구현하는 방법

키 인증을 사용하여 CentOS 서버에서 더욱 안전한 SSH 로그인을 달성하는 방법

서버 관리에서는 시스템 보안을 보장하는 것이 중요합니다. SSH(Secure Shell)는 Linux 및 UNIX 서버에 대한 원격 로그인에 사용되는 암호화된 네트워크 프로토콜입니다. 서버의 보안을 더욱 강화하기 위해 비밀번호 로그인 대신 키 인증을 사용할 수 있습니다. 이 기사에서는 CentOS 서버에서 보다 안전한 SSH 로그인을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1단계: 키 쌍 생성

먼저 로컬 컴퓨터에서 키 쌍을 생성합니다. 터미널 창을 열고 다음 명령을 입력합니다:

ssh-keygen -t rsa

이 명령은 RSA 알고리즘을 사용하여 키 쌍을 생성합니다. Enter를 눌러 키 저장 경로와 파일 이름을 확인하세요. 그러면 키의 비밀번호를 입력하라는 메시지가 표시됩니다. 비밀번호를 설정하거나 공백으로 두고 Enter를 눌러 키 생성을 계속할 수 있습니다.

성공적으로 생성되면 지정된 경로에서 id_rsa(개인 키) 및 id_rsa.pub(공개 키)라는 두 개의 파일을 찾을 수 있습니다.

2단계: 공개 키를 서버에 복사

다음으로, 공개 키를 CentOS 서버에 복사하세요. 다음 명령을 사용하여 공개 키를 서버에 복사합니다.

ssh-copy-id user@server_ip_address

"user"를 CentOS 서버의 사용자 이름으로 바꾸고 "server_ip_address"를 서버의 IP 주소로 바꿉니다. 인증을 위해 비밀번호를 입력하라는 메시지가 표시됩니다.

공개 키를 성공적으로 복사하면 다음과 같은 출력이 표시됩니다.

Number of key(s) added: 1

3단계: SSH 서비스 구성

서버에서 SSH 구성 파일을 열어 설정합니다. 다음 명령을 사용하여 파일을 엽니다.

sudo vi /etc/ssh/sshd_config

다음 줄의 주석 처리가 제거되었는지 확인하고 값을 다음과 같이 설정합니다.

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

주석 처리를 제거하면 공개 키 인증이 허용되고 비밀번호 인증이 비활성화되며 직접 루트 로그인이 허용되지 않습니다. 변경한 후 파일을 저장하고 닫습니다.

다음으로 SSH 서비스를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl restart sshd

4단계: SSH 로그인 테스트

이제 구성이 완료되었습니다. 다음 명령을 사용하여 SSH 로그인이 성공했는지 테스트할 수 있습니다.

ssh user@server_ip_address

"user"를 사용자 이름으로 바꾸고 "server_ip_address"를 서버의 IP 주소로 바꿉니다. 시스템은 개인 키를 사용하여 인증을 시도합니다.

모든 것이 올바르게 설정되면 비밀번호를 입력하지 않고도 CentOS 서버에 성공적으로 로그인할 수 있습니다.

보너스 팁:

  • 서버 보안을 더욱 강화하려면 암호를 사용하여 개인 키를 보호할 수 있습니다. 이렇게 하면 개인키를 도난당하더라도 인증을 통과할 수 없습니다.
  • 개인 키 파일의 권한이 600으로 설정되어 있는지 확인하세요. 이는 소유자만 읽고 쓸 수 있다는 의미입니다.
  • 다양한 키 쌍을 사용하여 여러 사용자를 인증하세요.
  • 보안 강화를 위해 정기적으로 키 쌍을 교체하세요.

요약:

키 인증을 사용하면 서버 보안이 크게 향상되고 악의적인 로그인과 비밀번호 무차별 크래킹을 방지할 수 있습니다. 이 문서에서는 CentOS 서버에서 보다 안전한 SSH 로그인을 구현하는 방법을 설명하고 해당 코드 예제를 제공합니다. 다음 단계를 따르면 서버에 대한 키 인증을 쉽게 설정하고 시스템을 안전하게 유지할 수 있습니다.

위 내용은 키 인증을 사용하여 CentOS 서버에서 보다 안전한 SSH 로그인을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Windows 11 中的 Telnet 完整教程 [安装/启用和故障排除]Windows 11 中的 Telnet 完整教程 [安装/启用和故障排除]May 22, 2023 pm 09:35 PM

<p>Telnet是“终端网络”的简称。它是用户可以用来将一台计算机连接到本地计算机的协议。</p><p>这里,本地计算机是指启动连接的设备,而连接到本地计算机的计算机称为远程计算机。</p><p>Telnet在客户端/服务器主体上运行,虽然它已经过时,但在2022年它仍然被许多人使用。许多人已经转向Windows11操作系统,这是微软提供的最新操作系统。&

如何从 iPad SSH 到 Mac如何从 iPad SSH 到 MacApr 14, 2023 pm 12:22 PM

如何从 iPad SSH 到 Mac这是一个两部分的演练。首先,您将在 Mac 上启用 SSH 服务器,然后您将使用 ssh 客户端应用程序从 iPad 连接到它。在 Mac 上,启动 SSH 服务器您可以通过打开名为 Remote Login 的功能在 Mac 上启用 SSH 服务器。转到 Apple 菜单 > 系统偏好设置 > 共享 > 启用“远程登录”,并选中“允许远程用户完全访问磁盘”框Mac 现在是一个 SSH 服务器,为您提供从 iPad 连接的 shell。注意

Python服务器编程:使用Paramiko实现SSH远程操作Python服务器编程:使用Paramiko实现SSH远程操作Jun 18, 2023 pm 01:10 PM

随着云计算和物联网的发展,远程操作服务器变得越来越重要。在Python中,我们可以使用Paramiko模块来轻松实现SSH远程操作。在本文中,我们将介绍Paramiko的基本用法,以及如何在Python中使用Paramiko来远程管理服务器。什么是ParamikoParamiko是一个用于SSHv1和SSHv2的Python模块,可以用于连接和控制SSH客户

Python基于ssh远程怎么连接Mysql数据库Python基于ssh远程怎么连接Mysql数据库May 27, 2023 pm 04:07 PM

背景如果需要访问远程服务器的Mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器才能使用),其他远程连接是不可以直接访问,并且相应的端口也做了修改,那么就需要基于ssh来连接该数据库。这种方式连接数据库与Navicat里面界面化基于ssh连接一样。Navicat连接数据库安装支持库如果要连接Mysql,首先需要安装pymysqlpipinstallpymysql安装基于ssh的库sshtunnelpipinstallsshtunnel#

linux自带有ssh吗linux自带有ssh吗Apr 06, 2023 pm 03:55 PM

linux自带有ssh。linux系统会自带ssh软件,默认就是OpenSSH相关软件包,并将ssh服务添加为开机自启动,可以通过“ssh -V”命令来查看安装的ssh版本信息。执行“systemctl start sshd”命令即可启动sshd服务,默认端口使用的22端口。

CentOS 7.9 安装及centos 7.9 安装sshCentOS 7.9 安装及centos 7.9 安装sshFeb 13, 2024 pm 10:30 PM

在进行服务器搭建或者系统管理时,CentOS7.9是一个非常常用的操作系统版本,本文将为您提供关于CentOS7.9安装以及安装SSH的详细步骤和说明。CentOS7.9是一个免费且开源的Linux操作系统,它是基于RedHatEnterpriseLinux(RHEL)的二进制兼容版本,下面是CentOS7.9安装的步骤:1.您需要下载CentOS7.9的ISO镜像文件,您可以从CentOS官方网站上下载最新的CentOS7.9ISO镜像文件。2.在您的计算机上创建一个新的虚拟机或者物理机,并将

Ansible工作原理详解Ansible工作原理详解Feb 18, 2024 pm 05:40 PM

Ansible工作原理从上面的图上可以了解到:管理端支持local、ssh、zeromq三种方式连接被管理端,默认使用基于ssh的连接,这部分对应上面架构图中的连接模块;可以按应用类型等方式进行HostInventory(主机清单)分类,管理节点通过各类模块实现相应的操作,单个模块,单条命令的批量执行,我们可以称之为ad-hoc;管理节点可以通过playbooks实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系统通过

Linux怎么检查SSH版本Linux怎么检查SSH版本Feb 15, 2023 am 11:28 AM

检查方法:1、用文本编辑器打开“/etc/ssh/sshd_config”,查看“Protocol”字段,若显示“Protocol 2”就代表服务器只支持SSH2,若显示“Protocol 1”就代表服务器同时支持两者。2、强制ssh使用特定的SSH协议,通过查看SSH服务器的响应来判断。3、使用scanssh工具,语法“sudo scanssh -s ssh ip地址”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구