SSH配置文件详解:提升远程连接效率

本文详细介绍了SSH配置文件(~/.ssh/config)的使用方法,包括主机别名配置、端口转发、动态转发和密钥文件指定等实用技巧,帮助用户简化SSH命令并提升工作效率。

SSH配置文件详解

Ethan Robish //
本文为不熟悉SSH配置文件的用户提供简要介绍,该文件通常位于~/.ssh/config

基础配置示例

假设您在别名为"linux"的系统上运行SSH,端口为2222,用户名为"root"。您的SSH配置条目可能如下所示:

1
2
3
4
Host linux
  HostName 192.168.1.100
  Port 2222
  User root

在此示例中,“linux"只是连接远程系统时使用的任意名称,与远程系统的实际主机名或其他配置无关。

命令简化优势

这样可以将SSH命令简化为:

1
ssh linux

而不是:

1
ssh -p 2222 root@192.168.1.100

同样适用于scp命令:

1
scp some_file linux:/root/some_file

常用指令功能

其他常用指令包括:

  • LocalForward:对应-L命令行选项(端口转发)
  • DynamicForward:对应-D命令行选项(动态转发)
  • IdentityFile:对应-i命令行选项(指定密钥文件)

高级技巧:现有连接添加端口转发

在OpenSSH中,可以通过输入正确的转义字符(默认为波浪号~)和大写C来启动OpenSSH命令行,然后像从命令行调用ssh一样指定端口转发。

例如,无需运行:

1
ssh linux -L 8000:127.0.0.1:8000

而是可以在SSH会话中使用~C序列实现相同功能。

扩展学习资源

  • 深度技术文章:http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/
  • 官方文档:查看ssh_config的手册页
  • 技术参考:https://coderwall.com/p/5wp2wg/start-port-forwarding-over-an-existing-ssh-connection-instead-of-creating-a-new-one
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计