비밀번호를 입력하라는 메시지가 표시되는 대신 SCP에 대한 매개변수로 비밀번호를 입력할 수 있나요?
SCP를 사용하여 파일을 복사할 때 비밀번호를 저장하는 방법은 무엇입니까? 이 질문은 비슷하지만 대답은 SSH 비밀번호를 완전히 없애는 것입니다.
답변1
몇 가지 옵션이 있습니다:
- SSHpass 사용
주문 실행:
sshpass -p 'password' scp filename user@host:
SSHPass를 설치합니다:
- 우분투:
sudo apt install sshpass
sshpass - 비대화형 SSH 비밀번호 제공자
sshpass는 "키보드 대화형" 비밀번호 인증이라는 모드를 사용하지만 비대화형 모드에서 ssh를 실행하도록 설계된 유틸리티입니다.
ssh는 직접 TTY 액세스를 사용하여 비밀번호가 실제로 대화형 키보드 사용자에 의해 발행되었는지 확인합니다. Sshpass는 전용 tty에서 ssh를 실행하여 대화형 사용자로부터 비밀번호를 얻는다고 생각하도록 속입니다.
실행할 명령은 sshpass 자체 옵션 뒤에 지정됩니다. 일반적으로 매개변수가 포함된 "ssh"이지만 다른 명령도 가능합니다. 그러나 ssh에서 사용하는 비밀번호 프롬프트는 현재 sshpass에 하드코딩되어 있습니다.
- 사용예상되는(또는 다른 스크립트)
SSH 비밀번호 프롬프트가 인식되면 비밀번호를 삽입하는 스크립트를 작성하세요.
- 비밀번호를 사용하는 대신 키 쌍과 함께 SSH 사용
IMHO - 가장 안전한 방법이며 비밀번호를 사용할 필요가 없습니다.
공개/개인 키를 사용하면 비밀번호를 입력하지 않고도 작업을 ssh
수행 할 수 있습니다.scp
답변2
이를 수행하는 방법에 대한 답변이 이미 있으므로 왜 안되는지에 초점을 맞추겠습니다.
- 명령줄에서 비밀번호를 전달하면 로컬 사용자는
ps
또는 다른 프로세스 목록을 사용하여 해당 비밀번호를 스누핑할 수 있습니다. - 추측하기 어렵고 기억하기 쉬운 비밀번호를 만드는 것은 어렵습니다. 따라서 SSH에서 비밀번호를 사용하지 마세요.
대신 공개/개인 키를 사용하고 키 에이전트를 사용하여 키를 임시로 기억하세요.