➹ 一些經常使用的 Linux 遠程操做命令記錄

➣ 簡介

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

IP 地址相關操做

查看 IP 地址能夠使用 ip 命令或 ifconfig 命令,推薦使用 ip 命令:服務器

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

ip addr

tcp

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

2)使用 ifconfig 查看 IP 地址:加密

ifconfig

code

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

SSH 相關操做

SSH 協議可讓咱們登錄遠程服務器,在使用 SSH 協議以前,須要確保:server

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

sudo apt-get install openssh-client openssh-server

2)查看 SSH 服務是否處於開啓狀態
安裝好 SSH 服務後會就會默認開啓,咱們也能夠經過 systemctl 命令進行查看:ip

systemctl status sshd

若是服務沒有開啓,能夠手動開啓:資源

systemctl start sshd

有時候 SSH 服務多是禁用的,須要先解除禁用:

systemctl enable sshd

解除禁用後就能夠使用 systemctl start sshd 開啓 SSH 服務了。
也能夠中止 SSH 服務:

systemctl stop sshd

當咱們安裝並開啓 SSH 服務後,就能夠使用 ssh 命令進行遠程登陸了,該命令的使用方式爲:

ssh user@address

如:

ssh charley@192.168.47.133

SCP 相關操做

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

scp path user@address:path

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

scp ./test.txt charley@192.168.47.133:/home/charley

也能夠上傳目錄:

scp -r ./mysite charley@192.168.47.133:/home/charley

2)下載文件

scp charley@192.168.47.133:/home/charley/helloworld.js .

也能夠下載目錄:

scp -r charley@192.168.47.133:/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 charley@192.168.1.109

經過 -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 文件中。

相關文章
相關標籤/搜索