美文网首页
SSH安全远程登录与端口转发

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

作者: 左诗右码 | 来源:发表于2024-06-26 11:35 被阅读0次

    在今天这个云计算盛行的时代,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 的密钥登录和端口转发功能有了初步的了解。这两个功能在日常开发中非常有用,掌握它们将大大提高你的工作效率。

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

    相关文章

      网友评论

          本文标题:SSH安全远程登录与端口转发

          本文链接:https://www.haomeiwen.com/subject/fjmgqjtx.html