【Linux】使用SSH連線做檔案傳輸

使用SSH連線做檔案傳輸

SFTP

因架設WEB SERVER後需要有檔案傳輸的需求,此設備環境為WINDOWS 10 上安裝VM

[VM]

OS: CentOS 7

Apache + PHP + MariaDB +SSH

 

目的:

WIN 10 上使用FileZilla或是WinSCP連入,達到檔案傳輸功能

 

SSH設定

vim /etc/ssh/sshd_config

 

使用SSH連線變快一些

UseDNS no

 

主要設定,拉到最後面,修改

 

# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server

Match Group sftponly
        ChrootDirectory /sftp
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTCPForwarding no

 

新增上傳用群組權限 sftponly

groupadd sftponly

 

新增上傳使用者uploaduser,並將次要群組設為sftponly

useradd -G sftponly uploaduser

 

新增uploaduser 密碼

passwd uploaduser

 

設定上傳目錄,在根目錄下新增sftp目錄

mkdir sftp

 

更改目錄權限,此有兩種做法

1. 如日後還有增加使用者帳號,並讓全部使用者連入上傳目錄,則設定目錄群組

chgrp sftponly /sftp

 

2. 使用同一帳號做檔案上傳,則設定目錄擁有者,在 /etc/ssh/sshd_config 裡不需做Match Group的設定

只做Match User

chown uploaduser /sftp

 

重啟SSH服務

systemctl restart sshd

 

 

用FTP工具連入試試~