“學習如何透過 ssh 登入遠端主機!”
指令說明
ssh 命令是 openssh 套件中的客戶端連接工具,可以給予 ssh 加密協議實現安全的遠程登錄伺服器。
語法
ssh [選項][參數]
選項
-1:強制使用ssh協議版本1;
-2:強制使用ssh協議版本2;
-4:強制使用IPv4地址;
-6:強制使用IPv6地址;
-A:開啟認證代理連接轉發功能;
-a:關閉認證代理連接轉發功能;
-b:使用本機指定地址作為對應連接的源ip地址;
-C:請求壓縮所有數據;
-F:指定ssh指令的配置文件;
-f:後台執行ssh指令;
-g:允許遠程主機連接主機的轉發端口;
-i:指定身份文件;
-l:指定連接遠程服務器登錄用戶名;
-N:不執行遠程指令;
-o:指定配置選項;
-p:指定遠程服務器上的端口;
-q:靜默模式;
-X:開啟X11轉發功能;
-x:關閉X11轉發功能;
-y:開啟信任X11轉發功能。
範例
# ssh 用戶名@遠程服務器地址
ssh user1@172.24.210.101
# 指定端口
ssh -p 2211 root@140.206.185.170
# ssh 大家族
ssh user@ip -p22 # 默認用戶名為當前用戶名,默認端口為 22
ssh-keygen # 為當前用戶生成 ssh 公鑰 + 私鑰
ssh-keygen -f keyfile -i -m key_format -e -m key_format # key_format: RFC4716/SSH2(default) PKCS8 PEM
ssh-copy-id user@ip:port # 將當前用戶的公鑰複製到需要 ssh 的服務器的 ~/.ssh/authorized_keys,之後可以免密登錄
補充說明
透過以下語法設定 .ssh/config
vi ~/.ssh/config
設定內容如下,透過 OpenSSH 的 ProxyCommand 選項來連接主機B。
Host hosta
User userfoo
Hostname 123.123.123.123
IdentityFile ~/secret/SecretOrKey.pem
Host hostb
User userbar
Hostname 192.168.1.1
Port 2222
ProxyCommand ssh -q -W %h:%p hosta
IdentityFile ~/secret/SecretOrKey.pem
透過這個設定為本機可以直接連接 hosta
,當 ssh hostb
時,將會先連結 hosta
然後透過 ProxyCommand
連入內部 192.168.1.1
,這樣的好處是我們不需要另外記得這些煩雜的連線設定,只需要 ssh [alias sever name]
,便可快速的登入遠端主機。
參考資料
comments powered by Disqus