管理ssh主机和私钥的最佳方法

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

管理ssh主机和私钥的最佳方法

配置文件语法:

我们可以将多个ssh主机详细信息添加到~/.ssh/config 文件中。在你最喜欢的编辑器(如vi、vim或nano)中编辑配置文件。

$ vi~/.ssh/config

语法如下所示:

Host<nick_name>       HostName<ip>       IdentityFile <path>       User<login>       Port<ssh>       LocalForward  <remote_location></remote_location></ssh></login></path></ip></nick_name>

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

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享