Làm cách nào tôi có thể thiết lập máy chủ SFSS openSSH trên Linux?


10

Tôi muốn cấu hình sftp-server để chia sẻ một thư mục nhưng tôi không biết cách sửa đổi /etc/ssh/sshd_config.

Yêu cầu của tôi là:

1) Đăng nhập sẽ không sử dụng chứng chỉ, chỉ có mật khẩu (nghĩa là ủy quyền sử dụng phương thức mật khẩu)

2) Tôi muốn đăng nhập với người dùng: ftp, mật khẩu: foo và chia sẻ thư mục / home / ftp.

3) Tôi có một ứng dụng thỉnh thoảng cần tải xuống một tệp từ máy chủ, tôi không cần phải đăng nhập với một máy khách hoạt động đầy đủ.

Cho đến nay tôi đã thêm các dòng sau vào / etc / ssh / sshd_config:

Protocol 2
Subsystem sftp /usr/libexec/sftp-server
Match User ftp
   ForceCommand internal-sftp
   ChrootDirectory /home/ftp

Mọi thứ khác được bình luận.

/home/ftp là một thư mục trống tại thời điểm hiện tại.

Truy cập hoạt động nếu tôi cố tải xuống một tệp bằng thông tin gốc nhưng nó không hoạt động nếu tôi sử dụng thông tin đăng nhập ftp. Tôi có cần phải thiết lập một vỏ đăng nhập? Tôi có cần phải cư trú / nhà / ftp bằng cách nào đó không?

EDIT: Đây là nhật ký sshd của tôi:

subsystem request for sftp
debug1: subsystem: exec() internal-sftp
debug1: Forced command (config) 'internal-sftp '
debug2: fd 3 setting TCP_NODELAY
debug2: fd 9 setting O_NONBLOCK
debug2: fd 8 setting O_NONBLOCK
debug1: Received SIGCHLD.
debug1: session_by_pid: pid 17613
debug1: session_exit_message: session 0 channel 0 pid 17613
debug2: channel 0: request exit-status confirm 0
debug1: session_exit_message: release channel 0
debug2: channel 0: write failed
debug2: channel 0: close_write
debug2: channel 0: send eow
debug2: channel 0: output open -> closed
debug2: channel 0: read<=0 rfd 9 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug2: channel 0: send close
debug2: notify_done: reading
debug3: channel 0: will not send data after close
debug3: channel 0: will not send data after close
User child is on pid 17611
debug3: mm_request_receive entering

* Máy khách bị treo ở đây (cho đến khi hết thời gian) *

Xin lưu ý, một lần nữa, nếu tôi đăng nhập là "root" thì tệp tải xuống chính xác. Nó cũng tải xuống chính xác nếu tôi nhận xét ba dòng cuối cùng của tệp cấu hình (tức là Matchdòng và 2 dòng sau).


Bạn đã thử chỉ xác định một trong các tùy chọn Trận đấu chưa? Điều gì xảy ra khi bạn sử dụng máy khách SFTP thực sự? Bạn vẫn có thể kết nối bằng ứng dụng SSH thông thường, ví dụ: sshhoặc PuTTY trên Windows? Phiên bản OpenSSH nào bạn đang sử dụng?
Daniel Beck

Câu trả lời:


7

Bạn cần đảm bảo /home/ftpđược sở hữu bởi rootvà nhóm đó và những người khác không có quyền ghi, ví dụ chmod 0755. Bạn cần thêm thư mục con ftpđể thêm tệp vào.


Bạn cũng cần internal-sftphệ thống con, nếu không, bạn cần cung cấp một chrootmôi trường phù hợp trong /home/ftp:

Subsystem sftp internal-sftp

Để không cho phép tất cả các loại đăng nhập không phải mật khẩu, hãy nhập

ChallengeResponseAuthentication no
GSSAPIAuthentication no
PubkeyAuthentication no

Chúng được kích hoạt theo mặc định.


Việc thay thế dòng Hệ thống con của tôi bằng của bạn (và thiết lập quyền thư mục) làm cho chuỗi lỗi của tôi biến mất, tuy nhiên các chương trình máy khách của tôi "bị treo" và không tải xuống tệp tôi cần (tôi có thể tải xuống bằng thông tin gốc). Có cách nào để làm cho đầu ra sshd dài dòng hơn không?
Emiliano

Thử lần lượt chỉ thêm một mục cấu hình duy nhất và kiểm tra xem bạn có thể kết nối để xác định tùy chọn nào bị lỗi hay không, hoặc đó có thể là sự kết hợp của các tùy chọn không. Bạn nên có một số đầu ra /var/log/secure, ít nhất đó là nơi tôi có được nó trên hệ thống của mình.
Daniel Beck

Tôi đã tăng mức đăng nhập của mình bằng cách sử dụng lệnh LogLevel. Tôi có thể đọc chuỗi trong /var/log/messages. Tôi có những điều sau đây: Failed none for ftp [...]tiếp theo Accepted password for ftp [...]User child is on pid 7658. Khách hàng bị treo và sau đó hết giờ
Emiliano

@happy_emi Cân nhắc thêm thông tin đó vào câu hỏi của bạn.
Daniel Beck

Có vẻ như đó là một vấn đề của quyền thư mục. sshd_configchỉ là tốt
Emiliano
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.