作為系統管理員,定期處理多個遠程系統。需要在工作期間多次使用ssh系統。許多遠程linux服務器都是通過密碼訪問的,其中許多是通過私鑰訪問的。因此,這對于管理所有這些內容來說更為典型。本篇文章將給大家介紹關于使用密鑰文件正確組織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