magento / magento/community-features

\Magento\Framework\Filesystem\Io\Sftp

Open
#308 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Priority: P2
Dominant language
No language data
Stars
46
Forks
14
PR merge metrics
No merged PRs in 30d

Description

We currently have a \Magento\Framework\Filesystem\Io\Ftp class. And this does support FTPS connections, but does not appear to support SFTP connections.

Currently, per the coding standards, direct usage of ssh2_* functions is discouraged, with no alternatives offered.

It would be nice if \Magento\Framework\Filesystem\Io\Sftp supported authenticating with public / private key-pairs.

While not applicable to my current project, I have worked in projects in the past where the system admins prohibited authentication with username / password authentication between internal systems, and enforced that authentication be done with public / private key-pairs that were then maintained by the system admins and regularly rotated. If this were a requirement in my current project today, my only option would be to violate Magento coding standards write my own class to implement this feature the native Sftp lacks.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing Magento\Framework\Filesystem\Io\Ftp implementation and the coding standards around SFTP access. Define the Sftp class interface and verify that public/private key-pair authentication works without username/password authentication; the feature is complete when this use case is supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.