sftp通過祕鑰上傳,修改文件

sftp是通過openssh與服務端建立連接的,默認端口爲22
1. 新建一個sftp的用戶,這裏就叫sftp

    useradd -s /sbin/nologin sftp

·2. 在sftp用戶的家目錄加上客戶端的公鑰
新建的sftp用戶是沒有 .ssh這個目錄的,要自己手動去創建

mkdir /home/sftp/.ssh
cd /home/sftp/.ssh
touch authorized_keys
vi authorized_keys

把公鑰加進去,保存即可
3. 配置sshd_config裏sftp的相關項

    #Subsystem  sftp    /usr/libexec/openssh/sftp-server  // 註釋這一行

添加如下行到文件最後(不加到最後可能會報錯)

        # sftp
Subsystem   sftp    internal-sftp                                   // sftp的相關命令
Match   User     sftp                                                           // 要使用sftp的用戶,這裏我創建的sftp用戶
ChrootDirectory  /data/web/application/test    // 指定要上傳,下載,修改文件的目錄(注意:網上很多文章說這裏是sftp的家目錄給很多人造成了混淆,其實不一定要把此目錄作爲家目錄,看你自己的需求)
ForceCommand    internal-sftp
AllowTcpForwarding no

·4. 目錄權限設置(最關鍵的一步)

/data/web/application/test此目錄屬主必須爲root,權限必須小於755,否則無法使用sftp進行通信

發佈了39 篇原創文章 · 獲贊 22 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章