➹ 一些常用的 Linux 遠程操作命令記錄

➣ 簡介

tip 常用Linux命令
內容主要包括:查看IP地址、ssh相關操作、scp相關操作、進程相關操作、端口相關操作、凍結終端、釋放/獲取IP地址、密匙相關操作、使用密匙進行免密登陸、不通過配置文件實現免密登陸、config配置文件拓展

IP 地址相關操作

查看 IP 地址可以使用 ip 命令或 ifconfig 命令,推薦使用 ip 命令:

1)使用 ip 命令查看 IP 地址:

ip addr

ip addr | grep inet(展示更爲簡單)

2)使用 ifconfig 查看 IP 地址:

ifconfig

ifconfig | grep inet(展示更爲簡單)

SSH 相關操作

SSH 協議可以讓我們登陸遠程服務器,在使用 SSH 協議之前,需要確保:

客戶機和服務器都安裝了 SSH 協議
服務器的 SSH 處於開啓狀態
1)安裝 SSH 協議
Ubuntu 上默認是沒有安裝 SSH 服務的,需要我們進行手動安裝:

sudo apt-get install openssh-client openssh-server

2)查看 SSH 服務是否處於開啓狀態
安裝好 SSH 服務後會就會默認開啓,我們也可以通過 systemctl 命令進行查看:

systemctl status sshd

如果服務沒有開啓,可以手動開啓:

systemctl start sshd

有時候 SSH 服務可能是禁用的,需要先解除禁用:

systemctl enable sshd

解除禁用後就可以使用 systemctl start sshd 開啓 SSH 服務了。
也可以停止 SSH 服務:

systemctl stop sshd

當我們安裝並開啓 SSH 服務後,就可以使用 ssh 命令進行遠程登錄了,該命令的使用方式爲:

ssh user@address

如:

ssh [email protected]

SCP 相關操作

SCP 是基於 SSH 的協議,可以用來上傳資源至服務器或者從服務器下載資源。
1)上傳文件

scp path user@address:path

上面第一個 path 是本地要上傳到服務器的文件路徑,第二個 path 是要上傳到服務器的目標地址。注意不要遺忘服務器 IP 地址和目標路徑之間的冒號。
如:

scp ./test.txt [email protected]:/home/charley

也可以上傳目錄:

scp -r ./mysite [email protected]:/home/charley

2)下載文件

scp [email protected]:/home/charley/helloworld.js .

也可以下載目錄:

scp -r [email protected]:/home/charley/mysite2 .

總結一下,scp 命令前面的參數是上傳或下載的源地址,後面的參數是上傳或下載的目標地址,如果需要上傳或下載目錄,需要在 scp 命令後加上短參數 -r。

進程相關操作

1)查看當前的進程

ps aux

ps aux | greo xxx(查看某一個進程)

2)殺死進程

kill PID(進程號)

3)強制殺死進程

kill -9 PID

端口相關操作

使用 netstat 命令可以查看端口信息:

netstat

netstat [-anp]

netstat [-anp] | grep PORT(端口)

也可以使用 lsof 命令查看端口信息:

lsof -i tcp:8080

凍結終端

在終端按下 Ctrl + S 組合鍵,終端就會被凍結。如果想解凍的話,按下 Ctrl + Q 組合鍵即可。

釋放/獲取 IP 地址

dhclient 命令可以釋放或者獲取本機的 IP 地址。

1)釋放操作

dhclient -r

2)獲取操作

dhclient

當局域網的 IP 地址衝突時,可以用此方法解決。

密鑰相關操作

可以使用 ssh-keygen (Key Generator)生成公鑰和私鑰,需要先安裝 SSH 服務。

ssh-keygen 的使用:
  • -t:選擇的加密算法,一般選擇 RSA 算法
  • -C:加密的特徵碼
  • -f:生成的密鑰文件的文件名

用法如下:

ssh-keygen -t rsa -C "Charley" -f "charley_rsa"

命令執行完成後,會在執行命令的目錄中生成一個 charley_rsa 和 charley_rsa.pub 文件,其中前一個是私鑰,後一個是公鑰。切記私鑰一定不要泄露。

使用密鑰進行免密登陸

有了公鑰和私鑰後,就可以在服務器進行免密登陸了。首先,需要將我們的公鑰傳遞到服務器用戶主目錄的 .ssh 目錄下。如 /home/charley/.ssh 或 /root/.ssh,傳到前一個目錄就可以免密登陸到 charley 這個用戶,傳到後一個目錄就可以免密登陸到 ROOT 用戶,以此類推。
服務器接受到公鑰文件後,需要將公鑰文件的內容追加到 authorized_keys 文件中,如果服務器還沒有該文件,需要先創建一個。

cat charley_rsa.pub >> authorized_keys

建議在生成密鑰時需要將私鑰放在用戶主目錄的 .ssh 文件夾下以方便管理,並且需要確認私鑰的操作權限爲 600,即只能私鑰的所有者進行操作,其他用戶不能操作私鑰。
接下來,我們需要在客戶機配置一個 config 文件,以實現免密登陸,如果客戶機上還沒有該文件,需要先創建一個。
config 文件配置的模板如下:

  • 要登錄的用戶名
User charley
  • 登陸的別名
Host charley-server
  • 登陸的地址,可以是一個 IP 地址或者域名
HostName 192.168.1.109
  • 登陸的端口
Port 22
  • 第一次連接服務器時,自動接受新的公鑰
StrictHostKeyChecking no
  • 私鑰文件的路徑
IdentityFile ~/.ssh/charley_rsa
  • 維持 SSH 連接,防止長時間不做操作被踢
IdentitiesOnly yes
  • 其他配置項,照搬即可
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

寫好配置文件後,我們輸入 ssh charley-server 就可以實現免密登陸了。

不通過配置文件實現免密登陸

前面是介紹了通過 config 配置文件的方式實現免密登陸,但在某些情況下我們可能沒有權限操作配置文件,這就要手動指定祕鑰進行登陸了。手動指定祕鑰進行登陸也很簡單:

ssh -i charley_rsa [email protected]

通過 -i 短參數指定了客戶機的私鑰地址,同樣可以實現服務器的免密登陸。

config 配置文件的擴展

在 config 配置文件中,不僅可以配置單臺主機的免密登陸,還可以配置多臺主機的免密登陸,同時還可以對多臺主機共用一個公鑰或不同的公鑰進行配置。以下提供一個簡單的配置模板。
1)多臺主機共用一個公鑰

  • 第一臺主機
Host charley-first-server
HostName xxx
Port 22
  • 第二臺主機
Host charley-second-server
HostName xxx
Port 22

Host *-server
User charley
IdentityFile ~/.ssh/charley_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

2)多臺主機使用不同的公鑰

  • 第一臺主機
User charley
Host charley-first-server
HostName xxx
Port 22
StrictHostKeyChecking no
IdentityFile ~/.ssh/charley_first_rsa
IdentitiesOnly yes
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
  • 第二臺主機
User charley
Host charley-second-server
HostName xxx
Port 22
StrictHostKeyChecking no
IdentityFile ~/.ssh/charley_second_rsa
IdentitiesOnly yes
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

➣ 總結

本文介紹了一些和 Linux 遠程操作相關的命令,這些命令都是基於 SSH 協議的,包括用來遠程登陸的 ssh 命令和用來上傳或下載文件的 scp 命令。
文章的後半部分,介紹瞭如何使用 ssh-keygen 命令生成密鑰文件,以及通過配置文件和手動指定密鑰文件兩種實現免密登陸的方式。
需要注意的是,要實現免密登陸,需要在服務器上保存客戶機的公鑰文件,同時需要將該公鑰文件的內容追加到 authorized_keys 文件中。

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