常用SSH命令有哪些_全面解析

2025-04-23 19

Image

SSH(Secure Shell)是一种网络协议,用于在不安全的网络中提供安全的远程登录和其他网络服务。以下是常用的SSH命令及其说明:


1. 基本连接命令

ssh

  • 功能:连接到远程服务器。
  • 示例
    ssh user@hostname
    
    • user:远程服务器的用户名。
    • hostname:远程服务器的IP地址或域名。
  • 常用选项
    • -p:指定端口号(默认端口为22)。
      ssh -p 2222 user@hostname
      
    • -i:指定私钥文件。
      ssh -i /path/to/private_key user@hostname
      

2. 密钥管理命令

ssh-keygen

  • 功能:生成SSH密钥对(公钥和私钥)。
  • 示例
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    • -t rsa:指定密钥类型(如RSA)。
    • -b 4096:指定密钥长度(4096位)。
    • -C:添加注释(如邮箱)。
  • 默认保存路径~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。

ssh-copy-id

  • 功能:将本地公钥复制到远程服务器,实现免密码登录。
  • 示例
    ssh-copy-id user@hostname
    

3. 配置管理命令

ssh-agent

  • 功能:管理SSH密钥代理,避免频繁输入密码。
  • 常用操作
    1. 启动代理:
      eval "$(ssh-agent -s)"
      
    2. 添加密钥:
      ssh-add ~/.ssh/id_rsa
      

ssh-config

  • 功能:配置SSH客户端行为(如别名、端口、密钥等)。
  • 配置文件路径~/.ssh/config
  • 示例配置
    Host myserver
        HostName hostname
        User user
        Port 2222
        IdentityFile ~/.ssh/id_rsa
    
  • 使用别名连接
    ssh myserver
    

4. 文件传输命令

scp

  • 功能:通过SSH安全传输文件。
  • 示例
    • 上传文件:
      scp /path/to/local_file user@hostname:/path/to/remote_directory
      
    • 下载文件:
      scp user@hostname:/path/to/remote_file /path/to/local_directory
      
  • 常用选项
    • -r:递归复制目录。
    • -P:指定端口号。

sftp

  • 功能:基于SSH的文件传输协议。
  • 示例
    sftp user@hostname
    
    • 常用命令:
      • put:上传文件。
      • get:下载文件。
      • ls:列出远程文件。
      • cd:切换远程目录。

5. 隧道与转发命令

本地端口转发

  • 功能:将本地端口流量转发到远程服务器。
  • 示例
    ssh -L 8080:localhost:80 user@hostname
    
    • 访问localhost:8080即访问远程服务器的localhost:80

远程端口转发

  • 功能:将远程服务器端口流量转发到本地。
  • 示例
    ssh -R 8080:localhost:80 user@hostname
    
    • 远程服务器访问localhost:8080即访问本地的localhost:80

动态端口转发(SOCKS代理)

  • 功能:创建SOCKS代理。
  • 示例
    ssh -D 1080 user@hostname
    
    • 配置浏览器使用localhost:1080作为SOCKS代理。

6. 其他常用命令

ssh-keyscan

  • 功能:收集远程服务器的SSH公钥指纹。
  • 示例
    ssh-keyscan hostname >> ~/.ssh/known_hosts
    

ssh-add

  • 功能:添加SSH密钥到代理(见ssh-agent)。

ssh-keygen -lf

  • 功能:显示SSH公钥指纹。
  • 示例
    ssh-keygen -lf ~/.ssh/id_rsa.pub
    

7. 故障排查命令

ssh -v

  • 功能:启用详细模式,调试SSH连接问题。
  • 示例
    ssh -v user@hostname
    

ssh -vvv

  • 功能:启用更详细的调试信息。

SSH命令是远程管理和安全通信的核心工具,掌握以下命令可大幅提升效率:
- 连接sshscpsftp
- 密钥管理ssh-keygenssh-copy-idssh-agent
- 配置ssh-config
- 高级功能:端口转发(-L-R-D

通过合理配置和使用,SSH可实现安全、高效的远程操作。

(本文来源:nzw6.com)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关