管理ssh主机和私钥的最佳方法
程序员文章站
2022-04-02 08:17:59
...
作为系统管理员,定期处理多个远程系统。需要在工作期间多次使用ssh系统。许多远程Linux服务器都是通过密码访问的,其中许多是通过私钥访问的。因此,这对于管理所有这些内容来说更为典型。本篇文章将给大家介绍关于使用密钥文件正确组织ssh服务器详细信息。
配置文件语法:
我们可以将多个ssh主机详细信息添加到~/.ssh/config 文件中。在你最喜欢的编辑器(如vi、vim或nano)中编辑配置文件。
$ vi~/.ssh/config
语法如下所示:
Host<NICK_NAME> HostName<IP地址远程> IdentityFile <PATH TO私有文件> User<LOGIN AS USERNAME> Port<SSH要使用的端口> LocalForward <本地端口> <REMOTE_LOCATION:PORT>
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
以上就是管理ssh主机和私钥的最佳方法的详细内容,更多请关注其它相关文章!