溫馨提示×

如何在Debian SFTP中啟用公鑰認證

小樊
43
2025-08-15 03:32:52
欄目: 智能運維

在Debian系統中啟用SFTP公鑰認證,可以按照以下步驟進行操作:

1. 安裝必要的軟件包

首先,確保你的系統上安裝了openssh-serveropenssh-client。如果沒有安裝,可以使用以下命令進行安裝:

sudo apt update
sudo apt install openssh-server openssh-client

2. 創建SSH密鑰對

如果你還沒有SSH密鑰對,可以使用以下命令生成一個:

ssh-keygen -t rsa -b 4096

按照提示操作,通常會生成兩個文件:~/.ssh/id_rsa(私鑰)和~/.ssh/id_rsa.pub(公鑰)。

3. 將公鑰復制到遠程服務器

使用ssh-copy-id命令將公鑰復制到遠程服務器的~/.ssh/authorized_keys文件中:

ssh-copy-id user@remote_host

其中,user是遠程服務器上的用戶名,remote_host是遠程服務器的IP地址或域名。

4. 配置SSH服務器以使用公鑰認證

編輯遠程服務器上的/etc/ssh/sshd_config文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下配置項:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

確保這些配置項沒有被注釋掉,并且設置正確。

5. 重啟SSH服務

保存并關閉文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

6. 測試SFTP連接

現在,你可以嘗試使用SFTP連接到遠程服務器,看看是否成功:

sftp user@remote_host

如果一切配置正確,你應該能夠使用公鑰認證登錄到遠程服務器。

7. 配置SFTP子系統(可選)

如果你希望限制SFTP用戶的訪問權限,可以在/etc/ssh/sshd_config文件中添加或修改以下配置:

Subsystem sftp internal-sftp
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

然后,創建一個用戶組sftpusers并將需要限制的用戶添加到該組:

sudo groupadd sftpusers
sudo usermod -aG sftpusers user

最后,確保/home/user目錄的權限設置正確,以便SFTP用戶只能訪問自己的主目錄:

sudo chown root:root /home/user
sudo chmod 755 /home/user
sudo chown user:user /home/user/.ssh
sudo chmod 700 /home/user/.ssh
sudo chown user:user /home/user/.ssh/authorized_keys
sudo chmod 600 /home/user/.ssh/authorized_keys

通過以上步驟,你就可以在Debian系統中成功啟用SFTP公鑰認證。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女