SSH安全远程登录与端口转发

简介: **SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。

在今天这个云计算盛行的时代,SSH(Secure Shell)几乎成了每个开发者必备技能之一。SSH 不仅可以让我们安全地远程登录到服务器,执行操作,还支持如文件传输、端口转发等高级功能。

本文将用浅显易懂的语言,带你深入了解 SSH 的两个常用功能:使用密钥登录通过 SSH 实现端口转发

使用密钥登录

传统上,我们习惯使用用户名和密码进行 SSH 登录。但在安全性要求更高的环境下,使用密钥登录是更推荐的选择。

首先,我们需要在客户端生成一对密钥(一个公开的「公钥」和一个私有的「私钥」)。接下来,将公钥配置到服务器上,然后利用客户端的私钥进行认证登录。这样,即使有人知道了我们的服务器 IP 和用户,没有私钥也无法登录。

首次设置和登录

  1. 生成密钥对 (如果已有密钥对可跳过此步骤)。

    打开终端运行:

ssh-keygen
  1. 登录到你的服务器 ,并将公钥内容添加到 ~/.ssh/authorized_keys 中。

  2. 使用密钥登录

ssh root@{
   你的服务器公网 IP} -i ~/.ssh/<your-pem-name>.pem

这里的 -i 参数用于指定私钥文件的路径。

为简化登录过程,我们可以编辑 ssh 配置文件:

在客户端编辑 vim ~/.ssh/config 文件:

# PubkeyAuthentication yes 代表使用密钥方式登录
# IdentityFile 用于指定密钥文件路径

Host {
   你的云服务器公网 IP}
    PubkeySerialization yes
    IdentificationFile ~/.ssh/<your-pem-name>.pem

配置后,直接使用下面的命令登录:

ssh root@{
   你的云服务器公网 IP}

通过 SSH 实现端口转发

在进行数据分析、Web 开发等场景时,我们经常需要将远程服务器上的服务端口映射到本地端口,以便本地访问。SSH 的端口转发功能让这一需求得以简单实现。

端口转发的基本用法

假设你想要访问位于 192.168.0.101 服务器上的 9200 端口的服务,可以通过 SSH 将该端口映射到本地机器的 9201 端口上:

ssh -L -N 9201:0.0.0.0:9200 alex@192.168.0.101

这里的 -L 参数指定了本地端口转发,-N 参数表示不执行远程命令。

端口转发的高级用法

如果 SSH 服务的默认端口 22 被更改了,比如改为了 2202,你可以通过 -p 参数指定 SSH 连接的端口:

ssh -L -N 9201:0.0.0.0:9200 -p 2202 alex@192.168.0.101

端口转发的应用场景

端口转发可以用于多种场景,比如:

  • 访问位于内网中的数据库或 Web 服务。
  • 绕过防火墙访问某些服务。
  • 为远程服务提供一个安全的本地访问点。

通过上面的分享,相信你已经对 SSH 的密钥登录和端口转发功能有了初步的了解。这两个功能在日常开发中非常有用,掌握它们将大大提高你的工作效率。

记住,实践是学习的捷径。不妨亲自动手尝试一下,实操中你会有更深的领悟。

相关文章
|
2月前
|
Unix Linux Shell
指定端口-SSH连接的目标(告别 22 端口暴力破解)
本文介绍了 SSH 命令 `ssh -p 44907 root@IP` 的含义与使用方法,包括命令结构拆解、完整示例及执行过程详解,帮助用户安全地远程登录服务器。
226 0
|
6月前
|
运维 安全 网络安全
443端口:HTTPS通信的安全基石
作为互联网安全的基石,443端口通过加密与认证机制,保护了数十亿用户的隐私与数据完整性。无论是开发者、运维人员还是普通用户,理解其原理与作用都至关重要。在享受便利的同时,也需时刻关注安全实践,防范潜在风险。
1397 12
|
5月前
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
11月前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
10706 7
|
11月前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
2728 3
|
安全 网络安全 数据安全/隐私保护
Cisco-端口安全
Cisco-端口安全
104 0
|
存储 监控 安全
端口安全:交换机上的网络守护者
【8月更文挑战第27天】
343 1
|
监控 安全 网络协议
|
安全 Linux 网络安全
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
|
安全 Linux 网络安全
在Linux中,如何配置SSH以确保远程连接的安全?
在Linux中,如何配置SSH以确保远程连接的安全?