Linux之遠程管理常用命令(知識點+踩坑記)

1. 關機/重啓

1.1 shutdown

shutdown 命令可以安全關閉或者重新啓動系統。
語法:shutdown 選項 時間
作用:關機/重新啓動在這裏插入圖片描述
不指定選項和參數,默認表示 1 分鐘之後 關閉電腦
加-r 表示重新啓動

遠程維護服務器時,最好不要關閉系統,而應該重新啓動系統

常用命令示例:

# 重新啓動操作系統,其中 now 表示現在
$ shutdown -r now

# 立刻關機,其中 now 表示現在
$ shutdown now

# 系統在今天的 10:20 會關機
$ shutdown 10:20

# 系統再過十分鐘後自動關機
$ shutdown +10

# 取消之前指定的關機計劃
$ shutdown -c

2. 查看或配置網卡信息

網卡是一個專門負責網絡通訊的硬件設備
IP 地址是設置在網卡上的地址信息

IP 地址
每臺聯網的電腦上都有 IP 地址,是保證電腦之間正常通訊的重要設置
注意:每臺電腦的 IP 地址不能相同,否則會出現 IP 地址衝突,並且沒有辦法正常通訊.。我們可以把 電腦比作電話,網卡相當於SIM 卡,IP 地址就 相當於電話號碼。

2.1 ifconfig

ifconfig 可以查看/配置計算機當前的網卡配置信息

# 查看網卡配置信息
$ ifconfig

# 查看網卡對應的 IP 地址
$ ifconfig | grep inet

提示:一臺計算機中有可能會有一個 物理網卡 和 多個虛擬網卡,在 Linux 中物理網卡的名字通常以 ensXX 表示.

127.0.0.1 被稱爲 本地迴環/環回地址,一般用來測試本機網卡是否正常

2.2 ping

ping 一般用於檢測當前計算機到目標計算機之間的網絡是否通暢,數值越大,速度越慢。
原理:網絡上的機器都有 唯一確定的 IP 地址,我們給目標 IP 地址發送一個數據包,對方就要返回一個數據包,根據返回的數據包以及時間,我們可以確定目標主機的存在。

# 檢測到目標主機是否連接正常
$ ping IP地址

# 檢測本地網卡工作正常
$ ping 127.0.0.1

127.0.0.1 被稱爲 本地迴環/環回地址,一般用來測試本機網卡是否正常。

3. 遠程登錄和複製文件

3.1 ssh 基礎(重點)

LinuxSSH 是 非常常用的工具,通過 SSH客戶端我們可以連接到運行了 SSH 服務器的遠程機器上。
SSH 客戶端是一種使用 Secure Shell(SSH) 協議連接到遠程計算機的軟件程序SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。
利用 SSH 協議可以有效防止遠程管理過程中的信息泄露,並且通過 SSH 協議 可以對所有傳輸的數據進行加密,也能夠防止 DNS 欺騙和 IP 欺騙。
SSH 的另一項優點是傳輸的數據可以是經過壓縮的,所以可以加快傳輸的速度。
注意:
ssh 這個終端命令只能在 Linux 或者 UNIX 系統下使用。
如果在 Windows 系統中,可以安裝 Putty 或者 XShell 客戶端軟件即可

3.1.1域名和端口號的簡單介紹

**域名:**由一串用點分隔的名字組成,例如:www.itcast.cn,是 IP 地址 的別名,方便用戶記憶。

IP 地址:通過 IP 地址 找到網絡上的計算機
端口號:通過 端口號 可以找到 計算機上運行的應用程序
SSH 服務器 的默認端口號是 22,如果是默認端口號,在連接的時候,可以省略。
常見服務端口號列表:
在這裏插入圖片描述

提示:
在工作中,SSH 服務器的端口號很有可能不是 22,如果遇到這種情況就需要使用 -p 選項,指定正確的端口號,否則無法正常連接到服務器

3.1.2Windows 下 SSH 客戶端的安裝

Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
XShell: http://xshellcn.com
這兩個任意下載一個就行了。
建議從官方網站下載正式的安裝程序,爲啥嘞?因爲怕網上的被黑客更改了,有安全風險【我裝的很懂得樣子,其實是聽老師說過,我總結下來大概就這意思】。
我安裝的是XShell,不過不是從官網下載的,爲啥嘞?我進去官網一看還要註冊啥的才能下載,於是咱靈機一動就想着去軟件商店找找xshell,這一找還真找到了:在這裏插入圖片描述
很快的就下載安裝好了(官網下的xshell應該有說必須選擇學生家庭那一欄的他們說必選,這個好像不用,我裝上好像就能用了)
但完美裝上了輸入ubuntu正確的ip地址也沒有連接上,於是我就找度娘纏綿了半天,終於找到一篇有用的博客:xshell連接ubuntu虛擬機(NAT模式),先別急着看哈,由於咱是剛接觸Linux,ssh啥的也不知道,關於Linux的命令像apt-get啥的咱也不知道。所以跟着上面這位大佬就出了一次錯誤(大佬可能太辛苦了,忘了敲一個空格):

在這裏插入圖片描述
在這裏插入圖片描述
爲了百度這個錯誤差點沒把我帶跑偏,差點兒就yum…但咱用的不是CentOS的軟件安裝啊,用這個命令不是驢頭不對馬嘴嗎?於是咱就推測出了上面那個命令可能有問題,嘗試一番終於解決。
啥?我最後怎麼發現的?唉,怪自己太聰明,靈機一動試出來的【暗中驕傲】。還是要感謝那個博主,因爲他幫我省了很多時間(查xshell 連接不上ubuntu的原因,百度了好久也沒找到對症的,有的時候,方向真的很重要,再次衷心感謝那些所有對咱有過幫助的人。)到下面這一步,算啓動成功(那個6455?每個人的可能都不一樣,我的好像是3開頭的,這個不用死摳,只要?後面的一樣就ok)。
在這裏插入圖片描述
打開xshell
xshell—>文件—>新建會話:
在這裏插入圖片描述
咱們要用windows的xshell客戶端連接虛擬機的ubuntu系統,輸入ubuntu的ip地址確定連接之後按提示輸入ubuntu用戶名,確定後再輸入ubuntu的登陸密碼,最後點擊確定就可以連上了。在這裏插入圖片描述終於可以愉快地玩耍了,最後記住不用了輸入exit回車退出連接哦。

3.2 scp(掌握)

scp 就是 secure copy,是一個在 Linux 下用來進行 遠程拷貝文件的命令。注意注意:scp 這個終端命令只能在 Linux 或者 UNIX 系統下使用
如果在 Windows 系統中,可以安裝 Putty,使用 pscp 命令行工具
或者安裝 FileZilla 使用 FTP 進行文件傳輸(我裝的FileZila,這個工具使用也非常簡單方便,一會兒下面會講)

scp的地址格式與 ssh 基本相同,需要注意的是,在指定端口時用的是大寫的 -P 而不是小寫的。

# 把本地當前目錄下的 01.py 文件 複製到 遠程 家目錄下的 Desktop/01.py
# 注意:`:` 後面的路徑如果不是絕對路徑,則以用戶的家目錄作爲參照路徑
scp -P port 01.py user@remote:Desktop/01.py

# 把遠程 家目錄下的 Desktop/01.py 文件 複製到 本地當前目錄下的 01.py
scp -P port user@remote:Desktop/01.py 01.py

# 加上 -r 選項可以傳送文件夾
# 把當前目錄下的 demo 文件夾 複製到 遠程 家目錄下的 Desktop
scp -r demo user@remote:Desktop

# 把遠程 家目錄下的 Desktop 複製到 當前目錄下的 demo 文件夾
scp -r user@remote:Desktop demo

比如將虛擬機桌面上的01.py文件通過mac終端scp命令複製到mac電腦桌面上:
在這裏插入圖片描述

3.3 Windows安裝FileZilla及使用

官方網站:https://www.filezilla.cn/download/client
嘿嘿,是不是又想到了用應用商店下載安裝?打開應用商店搜索一下:
在這裏插入圖片描述
確實能搜到,但是裝的時候可能會出現問題,比如我:
在這裏插入圖片描述

直接就報了這個錯誤,我懶得找應對方法了,直接刪了,去官網下載也很容易下載(上次下xshell去官網好像需要註冊用戶名啥的才能下載,所以才用的應用商店,這個filezila並不需要),進去官網:在這裏插入圖片描述
按自己的電腦情況選一個,我選的綠色版64位的(爲啥?因爲覺得它省事兒,下載後直接放到自己指定的目錄下解壓後就可以用了),很快就下載好了。
解壓後是這樣:在這裏插入圖片描述
雙擊那個紅色圖標就可以用了:在這裏插入圖片描述
當然,如果嫌每次找它比較麻煩,也可以選擇那個filezila.exe右鍵創建快捷方式然後託到桌面上也可以的(我是這樣乾的)。
注意注意:FileZilla 在傳輸文件時,使用的是 FTP 服務 而不是 SSH 服務,因此端口號應該設置爲 21
打開:在這裏插入圖片描述
理論上我們把虛擬機的ip,用戶名,密碼及端口號21輸入,再點擊快速連接應該就可以連接上了。但是我試了,並沒有成功:在這裏插入圖片描述
哎呀,這是怎麼回事?還能不能玩了?什麼原因咱也不知道,說下我的解決辦法:
1.選擇文件,點擊站點管理器
在這裏插入圖片描述

2.點擊新站點,協議改成SFTP-SSH,如下圖,輸入主機號,(端口號不用輸入)用戶名,密碼,再點擊連接。
在這裏插入圖片描述
然後點擊下圖的確定就可以連上了,最好把下面那個總是信任該主機勾選了,它的作用應該是把密鑰寫入緩存,下次再打開就不用輸入了。
在這裏插入圖片描述
一番折騰,總算連接成功:
在這裏插入圖片描述
試試效果:在這裏插入圖片描述
用法也很簡單,選中左邊上方指定的文件夾,然後在右邊找到虛擬機裏要複製的東西,鼠標拖動拉到右邊鬆開鼠標就ok啦。按住shift鍵可以多選哦。

3.4SSH 高級(知道)

先友情提示:有關 SSH 配置信息都保存在用戶家目錄下的 .ssh 目錄下

這樣下次再使用ssh連接這個主機時就不會有那個連接提示了(不用-p 22,直接就可以連):在這裏插入圖片描述

3.4.1免密碼登錄(不常用)

在這裏插入圖片描述
爲什麼不常用呢?因爲兩臺主機配置過一次就有記錄即再次連接就不需要輸密碼了。以後需要用到的時候可以再看(實際上也簡單,就兩行命令)

步驟
1.配置公鑰
執行 ssh-keygen 即可生成 SSH 鑰匙,一路回車即可,如下圖:
在這裏插入圖片描述
再ls一下,會發現.ssh目錄下多了兩個文件:在這裏插入圖片描述
這兩個文件就是在遠程登陸時用來加密使用的文件,接下來要做的就是把ubuntu裏.ssh目錄下的那個id_rsa.pub文件傳遞到mac電腦用戶家目錄下.ssh目錄中:
在這裏插入圖片描述
2.上傳公鑰到服務器
執行 ssh-copy-id -p port user@remote,可以讓遠程服務器記住我們的公鑰:
在這裏插入圖片描述
執行完之後就拷貝進mac電腦用戶家目錄下.ssh目錄中了:在這裏插入圖片描述
再在ubuntu裏連接一下mac電腦,發現已經不需要輸入登陸密碼了(成功):
在這裏插入圖片描述
再試一下使用scp命令,將ubuntu裏桌面上的01.py文件複製到mac電腦的桌面上,也不需要再輸入密碼了:在這裏插入圖片描述
看着我寫的比較多(還不是爲了讓自己和讀者更容易理解?看懂的點贊!【瘋狂暗示】),實際上也就兩行命令就能搞定的事。

小結一下:
原理示意圖:在這裏插入圖片描述

在密碼學上叫非對稱加密算法:
使用 公鑰 加密的數據,需要使用 私鑰 解密
使用 私鑰 加密的數據,需要使用 公鑰 解密

3.4.2配置別名

每次都輸入 ssh -p port user@remote,時間久了會覺得很麻煩,特別是當 user, remote 和 port 都得輸入,而且還不好記憶
而 配置別名 可以讓我們進一步偷懶,譬如用:ssh mac (mac是你想起的名字,可以隨意定義)來替代上面這麼一長串,那麼就在 ~/.ssh/config 裏面追加以下內容:

Host mac
HostName ip地址
User 用戶名
Port 22
在這裏插入圖片描述
在這裏插入圖片描述
像這樣ctrl+s保存之後,即可用 ssh myserver 實現遠程登錄了:在這裏插入圖片描述scp 同樣可以使用,比如把ubuntu桌面上的所有文件都複製到mac電腦桌面上的demo文件夾中:在這裏插入圖片描述這樣是不是方便了很多?哈哈。
終於弄完了,不容易啊,這個博客寫了好幾天!
每一次撰寫博客都是給自己加油。
感謝大家的閱讀,如果大家覺得有一點兒用處,那就給我點個贊吧,你們的支持就是我最大的動力!(畢竟辛苦寫的東西沒人看也得不到認可,那很難讓人有堅持下去的動力)
一起加油,一起成長!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章