作为系统管理员,定期处理多个远程系统。需要在工作期间多次使用ssh系统。许多远程linux服务器都是通过密码访问的,其中许多是通过私钥访问的。因此,这对于管理所有这些内容来说更为典型。本篇文章将给大家介绍关于使用密钥文件正确组织ssh服务器详细信息。

配置文件语法:
我们可以将多个ssh主机详细信息添加到~/.ssh/config 文件中。在你最喜欢的编辑器(如vi、vim或nano)中编辑配置文件。
$ vi~/.ssh/config
语法如下所示:
HostHostName IdentityFile User Port LocalForward <本地端口>
1、添加第一个SSH主机
例如,我们的第一个ssh主机正在运行一个php开发Web服务器,其详细信息名称为php-web1,用户root,端口22,并且可以通过密码访问。在配置文件中添加以下内容。
Host php-web1
HostName 192.168.1.100
User root现在尝试使用SSH作为以下命令。
$ ssh php-web1
2、添加第二个SSH主机
我们的第二个主机服务器(php-web2)可以使用默认端口22上的用户root的ssh密钥对访问。在配置文件中添加以下内容。
Host php-web2
HostName 192.168.1.101
IdentityFile ~/.ssh/php-web2.pem
User root现在尝试使用SSH作为以下命令。
$ ssh php-web2
3、添加第三个SSH主机
我们的第三个ssh主机服务器(php-db1)在端口2222上运行,可通过用户ubuntu的密钥对访问。在配置文件中添加以下内容。
Host php-db1
HostName 192.168.1.110
Port 2222
IdentityFile ~/.ssh/php-db1.pem
User ubuntu现在尝试使用SSH作为以下命令。
$ ssh php-db1
4.使用SSH进行设置转发
在此设置中,我们需要将本地系统端口3306转发到端口3306上的远程服务器(php-db1)主机。在配置文件中添加以下内容。
Host php-db1-mysql-tunnel
HostName 192.168.1.110
Port 2222
IdentityFile ~/.ssh/php-db1.pem
LocalForward 3306 127.0.0.1:3306现在尝试使用SSH作为以下命令。
$ ssh php-db1-mysql-tunnel
最终配置文件
最终配置文件~/.ssh/config 如下所示。
Host php-web1
HostName 192.168.1.100
User root
Host php-web2
HostName 192.168.1.101
IdentityFile ~/.ssh/php-web2.pem
User root
Host php-db1
HostName 192.168.1.110
Port 2222
IdentityFile ~/.ssh/php-db1.pem
User ubuntu
Host php-db1-mysql-tunnel
HostName 192.168.1.110
Port 2222
IdentityFile ~/.ssh/php-db1.pem
LocalForward 3306 127.0.0.1:3306










