新聞中心
SSH 是 Linux 下進行遠程連接的基本工具,SSH對常用的用途就是登錄,SSH 命令可是完成遠程操作的神器啊,借助它我們可以把很多的遠程操作自動化掉,下面有大家講解一下SSH命令神奇的使用方法

SSH命令詳解
語法
ssh(選項)(參數(shù))
選項
-1:強制使用ssh協(xié)議版本1;
-2:強制使用ssh協(xié)議版本2;
-4:強制使用IPv4地址;
-6:強制使用IPv6地址;
-A:開啟認證代理連接轉發(fā)功能;
-a:關閉認證代理連接轉發(fā)功能;
-b:使用本機指定地址作為對應連接的源ip地址;
-C:請求壓縮所有數(shù)據(jù);
-F:指定ssh指令的配置文件;
-f:后臺執(zhí)行ssh指令;
-g:允許遠程主機連接主機的轉發(fā)端口;
-i:指定身份文件;
-l:指定連接遠程服務器登錄用戶名;
-N:不執(zhí)行遠程指令;
-o:指定配置選項;
-p:指定遠程服務器上的端口;
-q:靜默模式;
-X:開啟X11轉發(fā)功能;
-x:關閉X11轉發(fā)功能;
-y:開啟信任X11轉發(fā)功能。
參數(shù)
-
遠程主機:指定要連接的遠程ssh服務器;
-
指令:要在遠程ssh服務器上執(zhí)行的指令。
SSH連接使用
語法看上去很死板累贅,其實用不到那么多。習慣中就只用這個
ssh name@server-ip
或者
ssh server-ip -l name
以上兩種方式都可以遠程登錄到服務器,server-ip代表遠程服務器的IP地址,name代表SSH登陸進遠程服務器的用戶名,一般為root。
如果遠程服務器的端口是其他的,在后面加上-p參數(shù)。
ssh name@server-ip -p 12345
連接成功終端就會提示繼續(xù)輸入用戶密碼,輸入就好了。
SSH使用公鑰免密登陸
SSH登錄時有兩種驗證方式
-
基于密碼的安全驗證,它要求用戶在每次登錄服務器時輸入密碼,服務器端驗證通過后即登錄成功。
-
基于密鑰的安全驗證,客戶端的公鑰會預先保存在服務器端,當?shù)卿洉r,服務器端會使用該公鑰做驗證,如果驗證成功,用戶不需輸入密碼即完成登錄。
為了避免每次都輸入密碼這種重復性工作,我們可以選擇使用公鑰進行遠程登錄。
本地生成密鑰對終端執(zhí)行 ssh-keygen 然后一路回車就行了,回車就是將密鑰對保存位置和打開密碼默認設置。執(zhí)行完畢會提示名為id_rsa和id_rsa.pub的私鑰文件和公鑰文件在/home/user/.ssh目錄下。
然后將公鑰上傳到遠程服務器
ssh-copy-id root@server-ip
server-ip為遠程服務器的IP地址。然后根據(jù)提示輸入密碼。當看到終端顯示
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@remoteserver"
and check to make sure that only the key(s) you wanted were added.
代表上傳成功,接著你可以只用使用“ssh root@server-ip”命令直接登陸遠程服務器,而不需要密碼了
對遠程服務器設置別名登陸
就算是設置免密登陸,SSH命令后面需要帶的server-ip也夠麻煩的,過幾年普及IPV6地址,ssh登陸一次就欲仙欲死的。我們可以通過配置服務器別名的方式進一步免輸服務器的IP地址。
在/home/user/.ssh/目錄下新建config文件,內容如下:
Host hostname
HostName server-ip
User root
IdentitiesOnly yes
保存退處即可。注意,第一行的hotname是你對服務器設置的別名,叫什么隨意。 第二行server-ip換成你的遠程服務器的IP。別真的傻乎乎的照搬復制了。
然后就可以執(zhí)行 “ssh hostname”命令(hostname換成你設置的別名)愉快的登陸進遠程服務器了。
如果報錯“Bad owner or permissions on /home/root/.ssh/config”字樣,那是權限的問題。
對config文件執(zhí)行
chmod 600 config
scp的拷貝命令。也可以直接使用,scp是linux系統(tǒng)下基于ssh登陸進行安全的遠程文件拷貝命令。當配置好ssh公鑰和別名,在scp上也一樣通用
本文題目:SSH命令使用小技巧
本文地址:http://fisionsoft.com.cn/article/dhseege.html


咨詢
建站咨詢
