詳解Linux下你所不知道的7個(gè)SSH命令用法
一個(gè)系統(tǒng)管理員可能會(huì)同時(shí)管理著多臺(tái)服務(wù)器,這些服務(wù)器也許會(huì)放在不同的地方。要親自一臺(tái)一臺(tái)的去訪(fǎng)問(wèn)來(lái)管理它們顯然不是最好的方法,通過(guò)遠(yuǎn)程控制的方法應(yīng)該是最有效的。
Linux系統(tǒng)的遠(yuǎn)程管理工具大概有幾種:telnet,ssh,vnc等,其中ssh是最常用的管理方法,采用密文的傳輸方式,簡(jiǎn)單安全。
Secure Shell縮寫(xiě)是SSH, 由IETF的網(wǎng)絡(luò)工作小組(Network Working Group)所制定,SSH是一項(xiàng)創(chuàng)建在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議,為計(jì)算機(jī)的shell提供安全的傳輸和使用環(huán)境。
下面我們來(lái)介紹 SSH 的 7 大用法。
1. 基本用法
最簡(jiǎn)單的用法就是不帶參數(shù),僅輸入 ssh 再加上主機(jī)地址,比如:
ssh 192.168.0.116
這種形式登陸主機(jī),會(huì)默認(rèn)使用當(dāng)前用戶(hù)進(jìn)行登錄。第一次連接的時(shí)候,SSH 會(huì)確認(rèn)目標(biāo)主機(jī)的真實(shí)性,如果沒(méi)有問(wèn)題的話(huà),輸入 yes 即可。
如果我們想要以指定用戶(hù)名來(lái)登錄主機(jī),有兩種方法:
a. 使用 -l 選項(xiàng)
ssh -l alvin 192.168.0.116
b. 使用 user@hostname 格式
ssh alvin@192.168.0.116
這兩種方法,其中第二種尤為常用。
2. 指定端口登錄
SSH 默認(rèn)使用的端口號(hào)是 22。大多現(xiàn)代的 Linux 系統(tǒng) 22 端口都是開(kāi)放的。如果你運(yùn)行 ssh 程序而沒(méi)有指定端口號(hào),它直接就是通過(guò) 22 端口發(fā)送請(qǐng)求的。
如果我們不想通過(guò) 22 端口登錄,那么我們可以使用 -p 選項(xiàng)來(lái)指定端口。
ssh 192.168.0.116 -p 1234
引申話(huà)題:如何修改端口號(hào)?
只需修改 /etc/ssh/ssh_config ,修改如下一行:
Port 22
3. 對(duì)所有數(shù)據(jù)請(qǐng)求壓縮
使用 -C 選項(xiàng),所有通過(guò) SSH 發(fā)送或接收的數(shù)據(jù)將會(huì)被壓縮,并且任然是加密的。
ssh -C 192.168.0.116
但是,這個(gè)選項(xiàng)在網(wǎng)速不是很快的時(shí)候比較有用,而當(dāng)網(wǎng)速較快的時(shí)候,使用壓縮反而會(huì)降低效率,所以要視情況使用。
4. 打開(kāi)調(diào)試模式
因?yàn)槟承┰?,我們想要追蹤調(diào)試我們建立的 SSH 連接情況。SSH 提供的 -v 選項(xiàng)參數(shù)正是為此而設(shè)的。其可以看到在哪個(gè)環(huán)節(jié)出了問(wèn)題。
[Alvin.Alvin-computer] ➤ ssh -v pi@192.168.0.116 OpenSSH_7.1p2, OpenSSL 1.0.1g 7 Apr 2014 debug1: Reading configuration data /etc/ssh_config debug1: Connecting to 192.168.0.116 [192.168.0.116] port 22. debug1: Connection established. debug1: key_load_public: No such file or directory debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_7.1 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Raspbian-10+deb9u4 debug1: match: OpenSSH_7.4p1 Raspbian-10+deb9u4 pat OpenSSH* compat 0x04000000 debug1: Authenticating to 192.168.0.116:22 as 'pi' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received
5. 綁定源地址
如果你的客戶(hù)端有多于兩個(gè)以上的 IP 地址,你就不可能分得清楚在使用哪一個(gè) IP 連接到 SSH 服務(wù)器。為了解決這種情況,我們可以使用 -b 選項(xiàng)來(lái)指定一個(gè)IP 地址。這個(gè) IP 將會(huì)被使用做建立連接的源地址。
[Alvin.Alvin-computer] ➤ ssh -b 192.168.0.105 pi@192.168.0.116 Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Feb 24 08:52:29 2019 from 192.168.0.105
6. 遠(yuǎn)程執(zhí)行命令
如果我們想在目標(biāo)主機(jī)執(zhí)行一條命令,我們通常的做法是,先登錄到目標(biāo)主機(jī),執(zhí)行命令,再退出來(lái)。這樣做當(dāng)然是可以,但是比較麻煩。
如果我們僅僅是想遠(yuǎn)程執(zhí)行一條命令,可以直接在后面跟上命令就好,如下:
[Alvin.Alvin-computer] ➤ ssh pi@192.168.0.116 ls -l Desktop Documents Downloads MagPi Music
7. 掛載遠(yuǎn)程文件系統(tǒng)
另外一個(gè)很贊的基于 SSH 的工具叫 sshfs。 sshfs 可以讓你在本地直接掛載遠(yuǎn)程主機(jī)的文件系統(tǒng)。它的使用格式如下:
sshfs -o idmap=user user@hostname:/home/user ~/Remote
比如:
sshfs -o idmap=user pi@192.168.0.116:/home/pi ~/Pi
以上所述是小編給大家介紹的Linux SSH命令詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux上安裝搭建Nginx服務(wù)器的詳細(xì)步驟
本篇文章主要介紹了Linux上搭建Nginx服務(wù)器的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)
這篇文章主要介紹了Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Linux 創(chuàng)建修改刪除用戶(hù)和組的方法
這篇文章主要介紹了Linux 創(chuàng)建修改刪除用戶(hù)和組的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第二篇LNMP環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Ubuntu apt-get指令autoclean,clean,autoremove的區(qū)別
這篇文章主要介紹了Ubuntu apt-get指令autoclean,clean,autoremove的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-01-01
ubuntu20.04 LTS系統(tǒng)默認(rèn)源sources.list文件的修改
這篇文章主要介紹了ubuntu20.04 LTS系統(tǒng)默認(rèn)源sources.list文件的修改,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
apache tomcat 一個(gè)網(wǎng)站多域名的實(shí)現(xiàn)方法
因此處是進(jìn)行多域名設(shè)置,所以 Apache 與 tomcat的結(jié)合沒(méi)有詳述,此處只是設(shè)置多域名的方法2009-02-02

