方便管理SSH主机密钥和私有密钥的最佳方法

作为系统管理员,你跟多个远程系统定期维护操作。你需要你在工作期间多次使用SSH系统。许多远程Linux服务器你必须通过密码访问其中的许多你必须通过专用key访问。因此,这可以更典型方便的方法管理他们。 本文将帮助你正确使用密钥文件整理您的SSH服务器的详细信息。

配置文件语法:

我们可以添加多个SSH主机细节 ~/.ssh/config文件。用你喜欢的编辑器,比如vi,vim 或 nano 编辑配置文件。
$ vi ~/.ssh/config  
语法如下:
Host <NICK_NAME>
     HostName <IP ADDRESS OF REMOTE>
     IdentityFile <PATH TO PRIVATE FILE>
     User <LOGIN AS USERNAME>
     Port <SSH PORT TO USE>
     LocalForward <LOCAL PORT>  <REMOTE_LOCATION:PORT>

1. 添加第一个SSH主机

例如,我们有我们的第一个SSH主机正在运行,详情昵称为php-web1,用户root,22端口,并通过密码访问的PHP开发的Web服务器。添加配置文件内容如下。
Host php-web1
     HostName 192.168.1.100
     User root
现在尝试SSH如下命令。
$ ssh php-web1

2. 添加第二个SSH主机

我们的第二个主机服务器(php-web2)是SSH密钥对,使用用户root 默认端口22 上访问添加配置文件内容如下。
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到远程服务器(php-db1)主机端口3306。添加配置文件内容如下。
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
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏