답변:
일반적으로 명령 행에 비밀번호를 포함하면 ps / top을 실행할 수있는 다른 사람에게 표시되므로 쉘 히스토리에 저장 될 수 있으므로 보안 위험으로 간주됩니다.
가능하면 키 기반 인증을 설정하는 것이 훨씬 좋습니다.
또한 sftp로 가능할 것이라고 생각하지 않습니다. 안전한 전송에 사용됩니다. 만약 당신이 정말로 이와 같은 일을해야했고 다른 선택의 여지가 없다면 아마 자동으로 기대 하는 것을보아야 할 것입니다 .
다른 사람들이 언급했듯이 명령 줄 암호는 최후의 수단이되어야합니다.
그러나 다른 것이 가능하지 않다면; 하나는 ssh 패스를 갈 수 있습니다
sshpass -p <password> sftp user@host
brew search sshpass
.- "초보 SSH 사용자가 SSH의 보안을 망칠 수 있기 때문에 sshpass를 추가하지 않습니다."
펄, 루비 또는 파이썬을 사용하여 수행하려는 작업을 스크립팅하십시오. 루비의 경우 (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
다른 답변에서 언급했듯이 공개 키 인증을 사용하십시오. 키 체인과 같은 유용한 보충 도구뿐만 아니라, 알고 싶은 모든 것을 설명해야하는 훌륭한 IBM developerWorks 시리즈 가있다.
명령 줄 명령에서 암호를 확인할 수없는 검색 자 :
sftp userid:password@remoteHost
sftp
connect 명령에 비밀번호를 포함시키는 방법 입니다.
업데이트 : 이것은 잘못된 것으로 판명되었습니다 ... 의견을 참조하십시오