SSH介绍 - 陈芝佐's 兴趣博客

SSH(Secure Shell)是一种加密的远程控制协议,用于安全登录服务器、传输文件及端口转发。本文详解其核心功能与7个常用命令:远程登录(ssh)、指定端口连接、密钥免密登录、文件传输(scp)、远程命令执行及端口隧道,助你高效管理服务器。掌握基础命令即可覆盖日常运维需求。


SSH 是什么?

SSH(Secure Shell)就像是一个“加密的管道”,让你可以安全地远程控制另一台电脑(比如服务器)。它比老旧的 Telnet 更安全,因为所有传输的数据(包括密码)都会被加密,防止被黑客窃听。

SSH 的核心功能

  1. 远程登录:用命令行操作另一台电脑(比如公司的服务器)。
  2. 安全传输文件:通过 scpsftp 命令加密传输文件。
  3. 端口转发:绕过防火墙限制,或者加密其他不安全的网络服务(比如远程访问数据库)。

常用命令及解释

1. 连接远程服务器

ssh username@服务器IP地址
  • 例子ssh alice@192.168.1.100
  • 注释:用用户名 alice 登录到 IP 为 192.168.1.100 的服务器,首次连接会提示确认指纹(输入 yes),然后输入密码。

2. 指定端口连接

ssh -p 2222 username@服务器IP地址
  • 注释:如果服务器的 SSH 服务端口不是默认的 22(比如改成 2222),需要用 -p 指定。

3. 用密钥登录(免密码)

ssh -i ~/.ssh/my_key.pem username@服务器IP地址
  • 注释:用私钥文件 my_key.pem 登录(需提前配置公钥到服务器)。

4. 传输文件到远程服务器

scp 本地文件.txt username@服务器IP地址:/远程/路径/
  • 例子scp report.pdf alice@192.168.1.100:/home/alice/
  • 注释:将本地的 report.pdf 加密传输到服务器的 /home/alice/ 目录。

5. 从服务器下载文件

scp username@服务器IP地址:/远程/文件.txt 本地路径/
  • 例子scp alice@192.168.1.100:/data/logs.txt ./downloads/

6. 直接执行远程命令

ssh username@服务器IP地址 "要执行的命令"
  • 例子ssh alice@192.168.1.100 "ls /tmp"
  • 注释:登录服务器后执行 ls /tmp 并返回结果,适合自动化脚本。

7. SSH 隧道(端口转发)

ssh -L 本地端口:目标地址:目标端口 username@服务器IP地址
  • 例子ssh -L 3306:localhost:3306 alice@192.168.1.100
  • 注释:将本地的 3306 端口转发到服务器内部的 3306 端口(比如访问内网数据库)。

其他实用技巧

  • 查看 SSH 版本ssh -V
  • 调试连接问题ssh -v username@IP地址-v 显示详细日志)
  • 退出远程会话:直接输入 exit 或按 Ctrl + D

一句话总结

SSH 就是让你安全地“遥控”另一台电脑的工具,既能操作命令,也能传文件,还能搞网络“隧道”。常用命令就那几个,记住 sshscp 和端口转发就够了!

标签: DeepSeek, SSH

添加新评论