sftp로 하나의 라이너를 사용하여 같은 줄의 암호로 로그인하는 방법은 무엇입니까?


16

sftp와 함께 암호를 입력 할 수있는 옵션이 있습니까?

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ 

이렇게

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ -p PASSWORD? 

답변:


13

일반적으로 명령 행에 비밀번호를 포함하면 ps / top을 실행할 수있는 다른 사람에게 표시되므로 쉘 히스토리에 저장 될 수 있으므로 보안 위험으로 간주됩니다.

가능하면 키 기반 인증을 설정하는 것이 훨씬 좋습니다.

또한 sftp로 가능할 것이라고 생각하지 않습니다. 안전한 전송에 사용됩니다. 만약 당신이 정말로 이와 같은 일을해야했고 다른 선택의 여지가 없다면 아마 자동으로 기대 하는 것을보아야 할 것입니다 .


재미있는 포인트!
Daniel

가능하면 키 기반 인증을 설정하는 것이 훨씬 좋습니다. 말이 되네요
Net Runner

URL이 깨질 것으로 예상됩니다
André Perazzi

4
사람들이 솔루션을 제공하지 않는 답변을지지하는 이유를 이해할 수 없습니다.
itoctopus

33

다른 사람들이 언급했듯이 명령 줄 암호는 최후의 수단이되어야합니다.

그러나 다른 것이 가능하지 않다면; 하나는 ssh 패스를 갈 수 있습니다

sshpass -p <password> sftp user@host

2
이것은 엄청나게 상향 조정되어야합니다. sshpass를 갖는 것이 정말 유용합니다. 일부 공급자는 .ssh 폴더를 만들도록 허용하지 않으며 scp도 허용되지 않습니다.
NetSquirrel

2
일부 도구에는 다음과 같은 장점이 있습니다 brew search sshpass.- "초보 SSH 사용자가 SSH의 보안을 망칠 수 있기 때문에 sshpass를 추가하지 않습니다."
oliver

4
이것이 허용되는 솔루션이어야합니다. OP는 보안 조언을위한 것이 아니라 (의도하지만 의도는 있지만)이 특정 작업을 수행하는 방법을 물었습니다.
ebr

6

자동 로그인을 위해 SSH 공개 키 인증을 설정하십시오.


sftp가 scp와 동일하게 이것을 할 수 있습니까?
Daniel

1
@Daniel, sftp 및 scp는 SSH를 기반으로 구축되어 키 기반 인증이 가능합니다.
Zoredache

5

펄, 루비 또는 파이썬을 사용하여 수행하려는 작업을 스크립팅하십시오. 루비의 경우 (net-sftp API 문서에서 가져온) 것입니다.

require 'net/sftp'

Net::SFTP.start('host', 'username', :password => 'password') do |sftp|

  # upload a file or directory to the remote host

  sftp.upload!("/path/to/local", "/path/to/remote")

end

자세한 정보는 http://net-ssh.rubyforge.org/sftp/v2/api/index.html


paramiko는 순수 파이썬 (추가 라이브러리 없음)이며 실제로 잘 작동합니다
qwertzguy

3

다른 답변에서 언급했듯이 공개 키 인증을 사용하십시오. 키 체인과 같은 유용한 보충 도구뿐만 아니라, 알고 싶은 모든 것을 설명해야하는 훌륭한 IBM developerWorks 시리즈 가있다.


2

명령 줄 명령에서 암호를 확인할 수없는 검색 자 :

sftp userid:password@remoteHostsftpconnect 명령에 비밀번호를 포함시키는 방법 입니다.

업데이트 : 이것은 잘못된 것으로 판명되었습니다 ... 의견을 참조하십시오


Red Hat Enterprise에서 OpenSSH v5.3p1 및 v4.3p2 ...
ashnazg

1
이것은 잘못된 것으로 판명되었습니다 ...이 방법은 PHP와 ssh2 확장자가 코드에서 이전에 실제 독립형 인증을 수행하는 데 사용 되었기 때문에 sftp 명령이 나중에 실행 되었기 때문에 효과가있는 것으로 보입니다. 구문이 성공한 것으로 보이는 것은이 후편이었습니다.
ashnazg

1
호스트 이름 사용자를 확인할 수 없습니다. 해당 호스트가 없습니다. 그것은 고려하고있다 ":"아이디 FileZilla의 CLI의 경우하지 않은
P 사티 Patro

1

FTP 클라이언트만큼 많은 답변이 있다고 생각합니다. SFTP 서버는 암호화가 설정 될 때까지 인증 정보를 수락해서는 안되므로 사용자와 비밀번호가 보호됩니다.

FileZilla 클라이언트가 사용자와 암호의 명령 행 전달을 허용 한다고 생각합니다 . 여기에 있는 문서를 참조 하십시오 . FileZilla 프로젝트의 명성을 감안할 때 안전하게 작동 할 것으로 기대합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.