在 Debian 上使用和配置 SSH 的指南

SSH(Secure Shell)是用于在不安全网络上安全登录远程计算机和执行命令的协议。本文将详细介绍如何在 Debian 系统上安装、配置和使用 SSH。

1. 安装 SSH

首先,您需要安装 OpenSSH 服务器和客户端(也可直接安装服务器端:openssh-server)。您可以使用以下命令来安装它们:

bash 复制代码
sudo apt update
sudo apt install openssh-server openssh-client

安装完成后,您可以通过以下命令检查 SSH 服务的状态:

bash 复制代码
sudo systemctl status ssh

2. 配置 SSH 服务器

SSH 服务器的配置文件位于 /etc/ssh/sshd_config。您可以使用您喜欢的文本编辑器来编辑它,例如:

bash 复制代码
sudo nano /etc/ssh/sshd_config

在配置文件中,您可以进行多种设置,例如更改默认端口、禁止 root 用户登录、启用公钥认证等。

更改默认端口

默认情况下,SSH 使用端口 22。为了增加安全性,您可以更改为其他端口,例如 2222:

bash 复制代码
Port 2222

禁止 root 用户登录

为了提高安全性,可以禁止 root 用户直接通过 SSH 登录:

bash 复制代码
PermitRootLogin no

启用公钥认证

确保以下行未被注释(没有 # 符号)并且值为 yes:

bash 复制代码
PubkeyAuthentication yes

完成配置后,保存文件并重新启动 SSH 服务以使更改生效:

bash 复制代码
sudo systemctl restart ssh

3. 使用 SSH 连接到远程服务器

现在,您可以使用 SSH 连接到远程服务器。假设远程服务器的 IP 地址是 192.168.1.100,用户名是 user,您可以使用以下命令进行连接:

bash 复制代码
ssh user@192.168.1.100

如果您更改了 SSH 端口,例如更改为 2222,请使用以下命令:

bash 复制代码
ssh -p 2222 user@192.168.1.100

4. 使用公钥认证

公钥认证可以提高 SSH 连接的安全性。以下是设置公钥认证的步骤:

生成公钥和私钥

在您的本地计算机上,使用以下命令生成一对公钥和私钥:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按提示操作,默认情况下会在 ~/.ssh 目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)文件。

将公钥复制到远程服务器

使用以下命令将公钥复制到远程服务器:

bash 复制代码
ssh-copy-id user@192.168.1.100

如果您更改了 SSH 端口,请使用以下命令:

bash 复制代码
ssh-copy-id -p 2222 user@192.168.1.100

完成后,您应该能够使用公钥认证登录远程服务器,而无需输入密码。

5. SSH 连接示例

假设您已经按照上述步骤配置好了 SSH 服务器和客户端,现在您可以尝试连接到远程服务器。

连接示例

使用默认端口(22):

bash 复制代码
ssh user@192.168.1.100

使用自定义端口(例如 2222):

bash 复制代码
ssh -p 2222 user@192.168.1.100

使用公钥认证:

bash 复制代码
ssh user@192.168.1.100

6. 结论

通过上述步骤,您已经在 Debian 系统上成功安装、配置和使用了 SSH。SSH 提供了一种安全、可靠的方式来远程管理您的服务器,希望本文对您有所帮助。

相关推荐
代码or搬砖10 分钟前
文件上传阿里云OSS以及本地图片服务器搭建
服务器·阿里云·云计算
悟能不能悟18 分钟前
dcpatchscan.exe这是什么
运维·服务器
kyle~24 分钟前
计算机系统---CPU的进程与线程处理
linux·服务器·c语言·c++·操作系统·计算机系统
wanhengidc30 分钟前
云手机 流畅运行
运维·服务器·安全·游戏·智能手机
NiKo_W32 分钟前
Linux 进程通信——基于责任链模式的消息队列
linux·服务器·消息队列·责任链模式·进程通信
云飞云共享云桌面34 分钟前
广东某模具制造工厂用一台云服务器供8个研发设计同时用
linux·运维·服务器·网络·自动化·制造
Le1Yu1 小时前
服务注册、服务发现、OpenFeign及其OKHttp连接池实现
java·服务器
2503_924806852 小时前
分辨海外IP是否为住宅IP的方法
服务器·网络协议·tcp/ip
北城笑笑2 小时前
Git 10 ,使用 SSH 提升 Git 操作速度实践指南( Git 拉取推送响应慢 )
前端·git·ssh
Dovis(誓平步青云)2 小时前
《探秘 Linux 进程控制:驾驭系统运行的核心之力》
linux·运维·服务器