一、ssh 基本概念
Secure Shell 簡稱 ssh,是一種加密傳輸協議。ssh 協議可以保證在網路連接不安全的環境中,安全地傳輸數據。ssh 協議通過使用公鑰加密技術,來保證客戶端與服務端之間通信的安全性。ssh 協議包括通信協議和加密協議兩部分。通信協議用於伺服器和客戶端之間的相互通信,加密協議用於在通信內容中加入加密和解密操作。
二、ssh 配置
1. 生成密鑰對
要使用 ssh 協議進行加密通信,首先需要在客戶端和服務端之間共享一對密鑰。密鑰由公鑰和私鑰兩個部分構成。公鑰可以公開,而私鑰必須保密。使用 ssh-keygen 命令在客戶端生成密鑰對:
ssh-keygen -t rsa -b 2048
該命令將在用戶主目錄下的 .ssh 目錄中生成 id_rsa 和 id_rsa.pub 兩個文件。其中,id_rsa.pub 是公鑰,可以拷貝到服務端的授權文件中。
2. 授權
在服務端配置 ssh 授權文件,以允許特定用戶通過 ssh 訪問該主機。可以使用如下命令在服務端創建授權文件:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
之後將客戶端的公鑰拷貝到服務端的授權文件中:
ssh-copy-id user@remote_host
3. 配置文件
ssh 配置文件為 /etc/ssh/sshd_config。可以根據需要修改配置文件中的參數來改變 ssh 的行為。以下是常用的一些配置參數:
# 修改 ssh 埠號
Port 22
# 禁止 root 賬戶登錄
PermitRootLogin no
# 允許使用密鑰進行登錄
PubkeyAuthentication yes
# 允許空口令登錄
PermitEmptyPasswords no
三、ssh 常用命令
1. ssh
ssh 命令用於建立與遠程主機的安全連接。其用法如下:
ssh user@remote_host
其中,user 為在遠程主機上的用戶名,remote_host 為遠程主機的地址。
2. scp
scp 命令用於在本地與遠程主機之間複製文件。其用法如下:
scp local_file user@remote_host:remote_file
其中,local_file 為本地文件,remote_file 為遠程主機上的目標文件。
3. sftp
sftp 命令用於和遠程主機進行文件傳輸。其用法與 ftp 命令類似,使用方式如下:
sftp user@remote_host
然後可以使用 put 命令將本地文件上傳到遠程主機,使用 get 命令將遠程主機的文件下載到本地。
四、總結
本文主要介紹了 ssh 協議的基本概念和使用方法,以及 ssh 的常用命令。ssh 是一種安全的網路傳輸協議,在網路連接不安全的環境下使用 ssh 協議可以保證數據的安全傳輸。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/192105.html