zftp 연결이 거부되었습니다. sftp 정상입니다.

zftp 연결이 거부되었습니다. sftp 정상입니다.

가상 머신의 IP 주소로 sftp를 시도하면 제대로 작동합니다(sftp가 제공하는 모든 작업을 수행할 수 있습니다). 하지만 zsh와 함께 zftp를 사용하여 동일한 IP 주소를 얻으려고 하면 연결이 거부됩니다. 다양한 스타일의 명령을 시도했지만 그 중 아무 것도 작동하지 않습니다. 예는 다음과 같습니다.

❯ autoload -U zfinit ; zfinit
❯ zftp open 10.211.55.8
zftp open: connect failed: connection refused

내가 시도한 다른 명령 스타일: ❯ zftp open '10.211.55.8'zftp open '[10.211.55.8]'

참고: zsh 5.8은 두 시스템 모두에 설치됩니다. zftp는 두 시스템 모두에서 작동하지 않으며 sftp는 다른 시스템에 연결을 시도하는 모든 시스템에서 작동합니다.

시스템 정보: 연결하려는 가상 머신은 Arch Linux입니다(zsh가 설치되어 기본 셸로 실행 중입니다). 제가 연결하려는 컴퓨터는 macOS 11.6이며, 이 컴퓨터의 기본 셸도 zsh입니다.

답변1

zsh/zftp파일 전송 프로토콜고객. sftpSFTP고객. FTP와 SFTP는 완전히 다른 프로토콜입니다. SFTP는 SSH 기반 파일 전송 프로토콜이지만 SSH 기반 FTP는 아닙니다.

zftp open 10.211.55.810.211.55.8에 FTP 서버가 있는 경우에만 작동하지만 sftp 10.211.55.8SSH 서버가 있는 대부분의 비임베디드 시스템에서 작동합니다(이는 일반적으로 기본적으로 활성화되는 OpenSSH의 기능입니다). rsh와 마찬가지로 FTP는 대부분 SSH1,2 로 대체되었습니다 .

zftp개발은 주로 FTP의 상대적인 복잡성으로 인해 이루어졌습니다. SFTP와 비슷한 작업을 수행하는 것은 별 의미가 없습니다. 일반적으로 SFTP 액세스 권한이 있는 경우 SSH 셸 액세스 및 SCP 액세스 권한도 가지며 이를 사용하여 scp파일을 복사할 수 있습니다(zsh는 완성 기능을 제공하므로 많이 필요하지 않습니다 ls).

SFTP를 더욱 원활하게 만들려면 다음을 사용할 수 있습니다.SSHFS원격 서버의 디렉토리 트리를 로컬로 마운트합니다. 서버에서 SFTP를 활성화해야 하며퓨즈클라이언트에서. 일반적으로 배포판 sshfs패키지를 설치하는 것만으로도 충분합니다.

sudo pacman -S sshfs
mkdir -p ~/net/vm
sshfs 10.211.55.8: ~/net/vm
ls ~/net/vm/somedir
cp somefile ~/net/vm/somedir

1 FTP는 인증 없이 일반적으로 사용되었으나 대부분 HTTP(S)로 대체되었습니다. 2FTP와 함께 TLS를 사용하기 위한 표준이 있습니다
. FTPS, 하지만 실제로 그런 일은 일어나지 않았습니다.

관련 정보