로그인할 SFTP 서버의 세부 정보를 아래에 제공했습니다.
IP 주소, 사용자 이름, 비밀번호, 포트(8800), 비밀번호로 보호된 ppk 파일.
다음 명령을 사용하여 서버에 로그인을 시도했지만 연결할 수 없습니다. (명령을 실행한 후 키에 대한 비밀번호를 제공하고 싶습니다. 그리고 키에 대한 사용자 이름과 비밀번호가 있습니다.)
sftp -i key.pem username@ipaddress -P8800
에러 메시지
ssh: connect to host xx.xx.xx.xxx port 22: Connection timed out
Couldn't read packet: Connection reset by peer
하지만 다음 명령을 사용하면 원격으로 서버에 로그인할 수 있습니다.
telnet ipaddress 8800
Telnet은 작동하지만 sftp 명령은 작동하지 않는 이유는 무엇입니까? sftp 명령에서 포트 번호를 전달하는 방법은 무엇입니까?
답변1
붙여넣은 오류를 보면 SFTP가 계속해서 포트 22에 연결을 시도한다는 것을 분명히 알 수 있습니다. "-P" 매개변수는 무시됩니다.
매개변수의 순서는 매우 중요합니다. 그렇지 않으면 최소한 "username@IPaddress"가 명령 끝에 있어야 합니다.
sftp -P 8800 -i key.pem username@ipaddress
답변2
-i
RedHat/Fedora/CentOS에는 pem 파일을 지정 하는 매개변수 가 없습니다 sftp
. 구문은 다음과 같습니다.
sftp -P {port} -oIdentityFile={path to pem} {user}@{host}