作為系統管理員,定期處理多個遠端系統。需要在工作期間多次使用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主機和私鑰的最佳方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!