ssh 连接管理

配置文件

  • 命令行选项
  • 用户配置文件(~/.ssh/config)
  • 系统配置文件(/etc/ssh/ssh_config)

配置文件可分为多个配置区段,每个区段使用“Host”来区分。我们可以在命令行种输入不同的配置段。对每一个配置项来说,首次获取的参数值将被采用,因此通常的设置应该放在文件的后面,特定Host的相关配置项应该放带文件的前面。

常用配置项

Host

Host配置项标识一个配置区段。后面可以接Alias别名。
SSH 配置项参数值可以使用通配符: ‘*’ 代表 0~n 个非空白字符, ‘?’ 代表一个非空白字符, ‘!’ 表示例外通配。

GlobalKnownHostsFile

指定一个或多个全局认证主机缓存文件,用来缓存通过认证的远程主机的密钥,多个文件用空格分隔。默认缓存文件为:/etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2.

HostName

指定远程主机名,可以直接使用数字IP地址。如果主机名中包含 ‘%h’ ,则实际使用时会被命令行中的主机名替换。

IdentityFile

指定密钥认证使用的私钥文件路径。默认为 ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 或 ~/.ssh/id_rsa 中的一个。

Port

指定远程主机端口号,默认为 22 。

User

指定登录用户名。

指定使用哪个密钥文件

    #vim config
    Host *
    User root
    Identityfile ~/.ssh/id_rsa_test

如上设置了连接所有的host,都是使用id_rsa_test这个密钥。

主机分组管理

  Host X01
  HostName X01.YYY.com

  Host X02
  HostName X02.YYY.com

  ...

  Host X01 X02 ...
  User my_username
  Compression yes
  Ciphers arcfour,blowfish-cbc
  Protocol 2
  ControlMaster auto
  ControlPath ~/.ssh/%r@%h:%p
  IdentityFile ~/.ssh/YYY/id_rsa

指定某些主机的端口

Host 192.168.1.2
Port 56000

经典

$ vim ~/.ssh/config
Host sshtest
HostName ssh.test.com
User user
Port 2200
IdentityFile ~/.ssh/id_rsa_test

Host ssttest2
HostName ssh.test2.com
User user2
Port 2345
IdentityFile ~/.ssh/id_rsa_test2

你可能感兴趣的:(ssh 连接管理)