【Linux】 深入理解 Linux 的 ssh 指令


我一直都在流浪
可我不曾见过海洋
我以为的遗忘
原来躺在你手上
我努力微笑坚强
寂寞筑成一道围墙
也敌不过夜里
最温柔的月光
                     🎵 林宥嘉《残酷月光》


在 Linux 系统中,ssh(Secure Shell)是一种广泛使用的网络协议,用于在不安全的网络中安全地进行远程登录和其他网络服务。通过 ssh,用户可以安全地访问和管理远程服务器。本文将详细介绍 ssh 指令的使用方法和常见场景,帮助你在实际工作中更加高效地进行远程管理。

基本概念

ssh 是一种加密协议,旨在通过不安全的网络提供安全的通信。它主要用于远程登录到另一台计算机,但也可以用于其他目的,如传输文件和执行远程命令。

##ssh 指令的基本用法

ssh 的基本语法如下:
ssh [选项] [用户@]主机
  • 用户:要登录的远程主机上的用户名。
  • 主机:远程主机的 IP 地址或域名。
  • 选项:可以用来控制 ssh 的行为。
常用选项

-p [端口号]:指定连接到远程主机的端口号(默认端口号为 22)。

ssh -p 2222 user@hostname

-i [文件]:指定私钥文件,用于密钥验证。

ssh -i ~/.ssh/id_rsa user@hostname

-L [本地端口:远程地址:远程端口]:创建本地端口转发。

ssh -L 8080:localhost:80 user@hostname

-R [远程端口:本地地址:本地端口]:创建远程端口转发。

ssh -R 8080:localhost:80 user@hostname

-D [本地端口]:创建动态端口转发(SOCKS 代理)。

ssh -D 1080 user@hostname

-N:不执行远程命令,仅进行端口转发。

ssh -N -L 8080:localhost:80 user@hostname

-T:禁止分配伪终端。

ssh -T user@hostname

使用密钥进行认证

ssh 支持密码认证和密钥认证。密钥认证更为安全,推荐使用。

生成 SSH 密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

这将在 ~/.ssh 目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)。

将公钥添加到远程主机
ssh-copy-id user@hostname

或者手动将 id_rsa.pub 的内容追加到远程主机的 ~/.ssh/authorized_keys 文件中。

使用私钥登录
ssh -i ~/.ssh/id_rsa user@hostname

端口转发

端口转发是一项强大的功能,允许你通过 ssh 隧道转发网络流量。

本地端口转发

将本地端口转发到远程主机:

ssh -L 8080:remote_host:80 user@hostname

访问 localhost:8080 实际上是在访问远程主机的 remote_host:80。

远程端口转发

将远程主机的端口转发到本地:

ssh -R 8080:localhost:80 user@hostname

远程主机的用户访问 localhost:8080 实际上是在访问你的本地机器的 localhost:80。

动态端口转发

创建一个 SOCKS 代理:

ssh -D 1080 user@hostname

设置浏览器或其他应用程序使用 localhost:1080 作为 SOCKS 代理,以便通过 ssh 隧道转发流量。

示例用法

远程登录
ssh user@hostname
使用非默认端口进行远程登录
ssh -p 2222 user@hostname
使用私钥文件进行登录
ssh -i ~/.ssh/id_rsa user@hostname

在远程主机上执行命令

ssh user@hostname 'ls -la /var/www'
通过 SSH 进行本地端口转发
ssh -L 8080:localhost:80 user@hostname

总结

ssh 指令是 Linux 系统中进行安全远程管理的重要工具。通过 ssh,你可以安全地登录远程主机、执行命令和进行端口转发,从而大大提高你的工作效率和系统安全性。希望本文能帮助你更好地理解和使用 ssh 指令。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值