SSH 客戶端的簡單使用:
使用ssh客戶端遠(yuǎn)程登錄到指定的計(jì)算機(jī)
$ ssh [-p port] user@remote
-
user
是在遠(yuǎn)程機(jī)器上的用戶名,如果不指定的話默認(rèn)為當(dāng)前用戶 -
remote
是遠(yuǎn)程機(jī)器的地址,可以是 IP/域名,或者是 后面會(huì)提到的別名 -
port
是 SSH Server 監(jiān)聽的端口,SSH 服務(wù)器的默認(rèn)端口號(hào)是22
,不指定則使用默認(rèn)端口號(hào)
提示:
- 使用
exit
退出當(dāng)前用戶的登錄- 在工作中,SSH 服務(wù)器的端口號(hào)很有可能不是 22,如果遇到這種情況就需要使用
-p
選項(xiàng),指定正確的端口號(hào),否則無法正常連接到服務(wù)器
scp(掌握)
- scp 就是
secure copy
,是一個(gè)在 Linux 下用來進(jìn)行 遠(yuǎn)程拷貝文件 的命令 - 既可以將本地內(nèi)容拷貝到遠(yuǎn)程計(jì)算機(jī),也可以將遠(yuǎn)程計(jì)算機(jī)內(nèi)容拷貝到本地
命令 | 對(duì)應(yīng)英文 | 作用 |
---|---|---|
scp 用戶名@ip:文件名或路徑 用戶名@ip:文件名或路徑 | secure copy | 遠(yuǎn)程復(fù)制文件 |
選項(xiàng) | 含義 |
---|---|
-r | 若給出的源文件是目錄文件,則 scp 將遞歸復(fù)制該目錄下的所有子目錄和文件,目標(biāo)文件必須為一個(gè)目錄名 |
-P | 若遠(yuǎn)程 SSH 服務(wù)器的端口不是 22,需要使用大寫字母 -P 選項(xiàng)指定端口 |
- 它的地址格式與 ssh 基本相同,需要注意的是,在指定端口時(shí)用的是大寫的
-P
而不是小寫的 - IP地址的
**:**
后面的路徑如果不是絕對(duì)路徑,則以用戶的家目錄作為參照路徑
# 把本地當(dāng)前目錄下的 01.py 文件 復(fù)制到 遠(yuǎn)程 家目錄下的 Desktop/01.py
scp -P port 01.py user@remote:Desktop/01.py
# 把遠(yuǎn)程 家目錄下的 Desktop/01.py 文件 復(fù)制到 本地當(dāng)前目錄下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 選項(xiàng)可以傳送文件夾
# 把當(dāng)前目錄下的 demo 文件夾 復(fù)制到 遠(yuǎn)程 家目錄下的 Desktop
scp -r demo user@remote:Desktop
# 把遠(yuǎn)程 家目錄下的 Desktop 復(fù)制到 當(dāng)前目錄下的 demo 文件夾
scp -r user@remote:Desktop demo
注意:
scp
這個(gè)終端命令只能在Linux
或者UNIX
系統(tǒng)下使用- 如果在
Windows
系統(tǒng)中,可以安裝PuTTY
,使用pscp
命令行工具或者安裝FileZilla
使用FTP
進(jìn)行文件傳輸
SSH 高級(jí):
- 免密碼登錄
- 配置別名
提示:有關(guān) SSH 配置信息都保存在用戶家目錄下的
.ssh
目錄下
1)免密碼登錄
步驟
- 配置公鑰
- 執(zhí)行
ssh-keygen
即可生成 SSH 鑰匙,一路回車即可
- 執(zhí)行
- 上傳公鑰到服務(wù)器
- 執(zhí)行
ssh-copy-id -p port user@remote
,可以讓遠(yuǎn)程服務(wù)器記住我們的公鑰
- 執(zhí)行
示意圖
非對(duì)稱加密算法
- 使用 公鑰 加密的數(shù)據(jù),需要使用 私鑰 解密
- 使用 私鑰 加密的數(shù)據(jù),需要使用 公鑰 解密
2) 配置別名
每次都輸入 ssh -p port user@remote
,時(shí)間久了會(huì)覺得很麻煩,特別是當(dāng) user
, remote
和 port
都得輸入,而且還不好記憶
而 配置別名 可以讓我們進(jìn)一步偷懶,譬如用:ssh ubuntu
來替代上面這么一長串,那么就在本地計(jì)算機(jī)的 ~/.ssh/config
里面追加以下內(nèi)容:
Host ubuntu
HostName 服務(wù)器ip地址
User python
Port 22
保存之后,即可用 ssh ubuntu
實(shí)現(xiàn)遠(yuǎn)程登錄了,scp
同樣可以使用