Linux中如何使用sshd服务

1.引言

sshd(Secure Shell daemon)是Linux系统中用于提供安全远程访问的服务。通过sshd服务,用户可以使用SSH(Secure Shell)协议远程连接到Linux服务器,并进行安全的访问和操作。本文将详细介绍在Linux中如何使用sshd服务。

2.安装sshd服务

在大多数Linux发行版中,sshd服务已经预装,如果没有安装,则可以通过包管理器进行安装。

$ sudo apt-get install openssh-server    # Ubuntu/Debian/Mint

$ sudo yum install openssh-server # CentOS/RHEL

安装完成后,sshd服务将自动启动,并在默认端口(22)监听。

3.sshd服务配置

sshd服务的配置文件为/etc/ssh/sshd_config。可以使用文本编辑器来编辑该文件。

$ sudo nano /etc/ssh/sshd_config

3.1 更改监听端口

默认情况下,sshd服务在端口22上监听。为了增加安全性,可以将其更改为其他端口。

# Port 22

Port 2222

保存并关闭文件后,需重启sshd服务使更改生效。

$ sudo systemctl restart sshd

3.2 禁用root登录

为了增加系统的安全性,建议禁用root用户直接登录服务器。可以通过编辑/etc/ssh/sshd_config文件实现。

# PermitRootLogin yes

PermitRootLogin no

保存并关闭文件后,需重启sshd服务使更改生效。

$ sudo systemctl restart sshd

3.3 允许特定用户登录

如果只允许特定的用户登录到服务器,可以使用AllowUsers指定可访问的用户名列表。可以将逗号分隔的用户名添加到/etc/ssh/sshd_config文件中。

AllowUsers user1,user2,user3

保存并关闭文件后,需重启sshd服务使更改生效。

$ sudo systemctl restart sshd

3.4 使用密钥登录

密钥登录可以提供更高的安全性。要启用密钥登录,请确保在本地计算机上生成SSH密钥对,并将公钥复制到远程服务器上的~/.ssh/authorized_keys文件中。

示例代码如下:

# 生成密钥对

$ ssh-keygen -t rsa

# 将公钥复制到远程服务器

$ ssh-copy-id user@remote_server

配置文件中需要启用公钥登录:

# PubkeyAuthentication yes

PubkeyAuthentication yes

保存并关闭文件后,需重启sshd服务使更改生效。

$ sudo systemctl restart sshd

4.使用sshd服务

在配置并启动sshd服务后,可以使用SSH客户端连接到Linux服务器。以下是使用OpenSSH客户端连接Linux服务器的示例:

$ ssh user@remote_server

其中,user是允许登录的用户,remote_server是远程服务器的IP地址或域名。

4.1 SSH会话管理

一旦成功连接到远程服务器,就可以在SSH会话中执行命令、上传和下载文件等操作。

4.2 前台和后台运行命令

在SSH会话中,可以运行前台和后台命令。前台命令会占据终端并一直运行,而后台命令会在后台运行。

# 前台运行命令

$ command

# 后台运行命令

$ command &

4.3 SCP命令

SCP(Secure Copy)命令可以在本地系统和远程服务器之间复制文件和目录。

示例代码如下:

$ scp file.txt user@remote_server:/path/to/destination

$ scp -r directory/ user@remote_server:/path/to/destination

4.4 停止sshd服务

如果需要停止sshd服务,可以使用以下命令:

$ sudo systemctl stop sshd

5.总结

本文介绍了在Linux中使用sshd服务的详细步骤。通过配置和使用sshd服务,可以实现安全的远程访问和操作。为了最大程度地提高系统的安全性,建议遵循最佳实践,并根据实际需求进行合理的配置。

参考:

1. OpenSSH官方文档:https://www.openssh.com/

2. Linuxize:https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-18-04/

操作系统标签