1.IP 地址相關(guān)操作
查看 IP 地址可以使用 ip
命令或 ifconfig
命令阵子,推薦使用 ip
命令:
1)使用 ip
命令查看 IP 地址:
ip addr
或
ip addr | grep inet(展示更為簡單)
2)使用 ifconfig
查看 IP 地址:
ifconfig
或
ifconfig | grep inet(展示更為簡單)
2.SSH 相關(guān)操作
SSH 協(xié)議可以讓我們登陸遠(yuǎn)程服務(wù)器,在使用 SSH 協(xié)議之前挠进,需要確保:
- 客戶機(jī)和服務(wù)器都安裝了 SSH 協(xié)議
- 服務(wù)器的 SSH 處于開啟狀態(tài)
1)安裝 SSH 協(xié)議
Ubuntu 上默認(rèn)是沒有安裝 SSH 服務(wù)的,需要我們進(jìn)行手動(dòng)安裝:
sudo apt-get install openssh-client openssh-server
2)查看 SSH 服務(wù)是否處于開啟狀態(tài)
安裝好 SSH 服務(wù)后會(huì)就會(huì)默認(rèn)開啟领突,我們也可以通過 systemctl
命令進(jìn)行查看:
systemctl status sshd
如果服務(wù)沒有開啟,可以手動(dòng)開啟:
systemctl start sshd
有時(shí)候 SSH 服務(wù)可能是禁用的漆撞,需要先解除禁用:
systemctl enable sshd
解除禁用后就可以使用 systemctl start sshd
開啟 SSH 服務(wù)了。
也可以停止 SSH 服務(wù):
systemctl stop sshd
當(dāng)我們安裝并開啟 SSH 服務(wù)后浮驳,就可以使用 ssh
命令進(jìn)行遠(yuǎn)程登錄了捞魁,該命令的使用方式為:
ssh user@address
如:
ssh charley@192.168.47.133
3.SCP 相關(guān)操作
SCP 是基于 SSH 的協(xié)議,可以用來上傳資源至服務(wù)器或者從服務(wù)器下載資源谱俭。
1)上傳文件
scp path user@address:path
上面第一個(gè) path
是本地要上傳到服務(wù)器的文件路徑,第二個(gè) path
是要上傳到服務(wù)器的目標(biāo)地址昆著。注意不要遺忘服務(wù)器 IP 地址和目標(biāo)路徑之間的冒號(hào)。
如:
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 .
總結(jié)一下煤痕,scp
命令前面的參數(shù)是上傳或下載的源地址接谨,后面的參數(shù)是上傳或下載的目標(biāo)地址摆碉,如果需要上傳或下載目錄巷帝,需要在 scp
命令后加上短參數(shù) -r
扫夜。
4.進(jìn)程相關(guān)操作
1)查看當(dāng)前的進(jìn)程
ps aux
或
ps aux | greo xxx(查看某一個(gè)進(jìn)程)
2)殺死進(jìn)程
kill PID(進(jìn)程號(hào))
3)強(qiáng)制殺死進(jìn)程
kill -9 PID
5.端口相關(guān)操作
使用 netstat
命令可以查看端口信息:
netstat
或
netstat [-anp]
或
netstat [-anp] | grep PORT(端口)
也可以使用 lsof
命令查看端口信息:
lsof -i tcp:8080
6.凍結(jié)終端
在終端按下 Ctrl + S
組合鍵,終端就會(huì)被凍結(jié)现拒。如果想解凍的話,按下 Ctrl + Q
組合鍵即可印蔬。
7.釋放/獲取 IP 地址
dhclient
命令可以釋放或者獲取本機(jī)的 IP 地址。
1)釋放操作
dhclient -r
2)獲取操作
dhclient
當(dāng)局域網(wǎng)的 IP 地址沖突時(shí)侥猬,可以用此方法解決捐韩。
8.密鑰相關(guān)操作
可以使用 ssh-keygen
(Key Generator)生成公鑰和私鑰,需要先安裝 SSH 服務(wù)荤胁。
ssh-keygen
的使用:
-
-t
:選擇的加密算法,一般選擇 RSA 算法 -
-C
:加密的特征碼 -
-f
:生成的密鑰文件的文件名
用法如下:
ssh-keygen -t rsa -C "Charley" -f "charley_rsa"
命令執(zhí)行完成后垢油,會(huì)在執(zhí)行命令的目錄中生成一個(gè) charley_rsa
和 charley_rsa.pub
文件,其中前一個(gè)是私鑰滩愁,后一個(gè)是公鑰。切記私鑰一定不要泄露廉丽。
9.使用密鑰進(jìn)行免密登陸
有了公鑰和私鑰后,就可以在服務(wù)器進(jìn)行免密登陸了正压。首先,需要將我們的公鑰傳遞到服務(wù)器用戶主目錄的 .ssh
目錄下蔑匣。如 /home/charley/.ssh
或 /root/.ssh
棕诵,傳到前一個(gè)目錄就可以免密登陸到 charley
這個(gè)用戶,傳到后一個(gè)目錄就可以免密登陸到 ROOT 用戶价脾,以此類推。
服務(wù)器接受到公鑰文件后侨把,需要將公鑰文件的內(nèi)容追加到 authorized_keys
文件中妹孙,如果服務(wù)器還沒有該文件,需要先創(chuàng)建一個(gè)蠢正。
cat charley_rsa.pub >> authorized_keys
建議在生成密鑰時(shí)需要將私鑰放在用戶主目錄的 .ssh
文件夾下以方便管理,并且需要確認(rèn)私鑰的操作權(quán)限為 600嚣崭,即只能私鑰的所有者進(jìn)行操作,其他用戶不能操作私鑰芦劣。
接下來说榆,我們需要在客戶機(jī)配置一個(gè) config
文件寸认,以實(shí)現(xiàn)免密登陸串慰,如果客戶機(jī)上還沒有該文件,需要先創(chuàng)建一個(gè)模庐。
config
文件配置的模板如下:
# 要登錄的用戶名
User charley
# 登陸的別名
Host charley-server
# 登陸的地址掂碱,可以是一個(gè) IP 地址或者域名
HostName 192.168.1.109
# 登陸的端口
Port 22
# 第一次連接服務(wù)器時(shí)慎冤,自動(dòng)接受新的公鑰
StrictHostKeyChecking no
# 私鑰文件的路徑
IdentityFile ~/.ssh/charley_rsa
# 維持 SSH 連接,防止長時(shí)間不做操作被踢
IdentitiesOnly yes
# 其他配置項(xiàng)蚁堤,照搬即可
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
寫好配置文件后,我們輸入 ssh charley-server
就可以實(shí)現(xiàn)免密登陸了披诗。
10.不通過配置文件實(shí)現(xiàn)免密登陸
前面是介紹了通過 config
配置文件的方式實(shí)現(xiàn)免密登陸,但在某些情況下我們可能沒有權(quán)限操作配置文件剥槐,這就要手動(dòng)指定秘鑰進(jìn)行登陸了宪摧。手動(dòng)指定秘鑰進(jìn)行登陸也很簡單:
ssh -i charley_rsa charley@192.168.1.109
通過 -i
短參數(shù)指定了客戶機(jī)的私鑰地址,同樣可以實(shí)現(xiàn)服務(wù)器的免密登陸蕊苗。
11.config 配置文件的擴(kuò)展
在 config
配置文件中沿彭,不僅可以配置單臺(tái)主機(jī)的免密登陸朽砰,還可以配置多臺(tái)主機(jī)的免密登陸锅移,同時(shí)還可以對(duì)多臺(tái)主機(jī)共用一個(gè)公鑰或不同的公鑰進(jìn)行配置饱搏。以下提供一個(gè)簡單的配置模板。
1)多臺(tái)主機(jī)共用一個(gè)公鑰
# 第一臺(tái)主機(jī)
Host charley-first-server
HostName xxx
Port 22
# 第二臺(tái)主機(jī)
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)多臺(tái)主機(jī)使用不同的公鑰
# 第一臺(tái)主機(jī)
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
# 第二臺(tái)主機(jī)
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
總結(jié)
本文介紹了一些和 Linux 遠(yuǎn)程操作相關(guān)的命令备绽,這些命令都是基于 SSH 協(xié)議的,包括用來遠(yuǎn)程登陸的 ssh
命令和用來上傳或下載文件的 scp
命令肺素。
文章的后半部分,介紹了如何使用 ssh-keygen
命令生成密鑰文件倍靡,以及通過配置文件和手動(dòng)指定密鑰文件兩種實(shí)現(xiàn)免密登陸的方式。
需要注意的是他挎,要實(shí)現(xiàn)免密登陸捡需,需要在服務(wù)器上保存客戶機(jī)的公鑰文件,同時(shí)需要將該公鑰文件的內(nèi)容追加到 authorized_keys
文件中站辉。
完呢撞。