전달하는 방법을 암호 scp?
-
09-06-2019 - |
문제
나는 그것을 알지 않는 것이 좋지만,그것은 모든 가능한에 전달하는 사용자의 암호 scp?
고 싶은 파일을 복사를 통해 scp 의 일부로 배치 작업 및 받는 서버에서는 물론,암호가 필요하고,아니요,쉽게 바꿀 수 없는 주요 인터페이스입니다.
다른 팁
사 sshpass:
sshpass -p "password" scp -r user@example.com:/some/remote/path /some/local/path
또 그렇게 암호를 표시하지 않습 bash 역사
sshpass -f "/path/to/passwordfile" scp -r user@example.com:/some/remote/path /some/local/path
위의 내용 복사본의 경로를 원격 호스트에서 당신의 로컬입니다.
설치:
- ubuntu/debian
apt install sshpass
- centos/fedora
yum install sshpass
- mac w/macports
port install sshpass
- mac w/양조
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
단지 생성 ssh 세요:
ssh-keygen -t rsa -C "your_email@youremail.com"
의 콘텐츠를 복사 ~/.ssh/id_rsa.pub
그리고 마지막으로 추가하여 원격 기계 ~/.ssh/authorized_keys
는지 확인 원격 컴퓨터가 사용 권한 0700 for ~./ssh folder
고 0600 for ~/.ssh/authorized_keys
에 연결하려면 서버에서 윈도우,퍼티 버전의 scp("는 다음 각 호의 사항을 준수하여야 한")할 수 있습을 통과와 비밀번호 -pw
매개 변수입니다.
사용할 수 있는'기'스크립트는 유닉스에/공항 터미
예를 들어 만들기'시험합니다.exp':
#!/usr/bin/expect
spawn scp /usr/bin/file.txt root@<ServerLocation>:/home
set pass "Your_Password"
expect {
password: {send "$pass\r"; exp_continue}
}
스크립트를 실행
expect test.exp
도움이 되기를 바랍니다.
컬으로 사용할 수 있는 대안을 scp 파일을 복사하고 그것을 지원하는 명령행에 암호.
curl --insecure --user username:password -T /path/to/sourcefile sftp://desthost/path/
여기에는 예입니다 어떻게 당신이 그것으로 expect
구:
sub copyover {
$scp=Expect->spawn("/usr/bin/scp ${srcpath}/$file $who:${destpath}
+/$file");
$scp->expect(30,"ssword: ") || die "Never got password prompt from
+ $dest:$!\n";
print $scp 'password' . "\n";
$scp->expect(30,"-re",'$\s') || die "Never got prompt from parent
+system:$!\n";
$scp->soft_close();
return;
}
아무도 그것을 언급하지만, 퍼티 scp (pscp)가-pw 옵션을 위해 암호입니다.
문서 여기에서 찾을 수 있습니다: https://the.earth.li/~sgtatham/putty/0.67/htmldoc/Chapter5.html#는 다음 각 호의 사항을 준수하여야 한
이 있는지 확인"기대하"도하기 전에,그렇지 않을 경우 그
# apt-get install expect
을 만들은 스크립트 파일로 다음과 같은 내용입니다.(#vi/root/scriptfile)
spawn scp /path_from/file_name user_name_here@to_host_name:/path_to
expect "password:"
send put_password_here\n;
interact
실행하는 스크립트 파일로"예"도구
# expect /root/scriptfile
일단 설정 ssh-keygen
위에서 설명한 바와 같이,당신이 할 수 있는
scp -i ~/.ssh/id_rsa /local/path/to/file remote@ip.com:/path/in/remote/server/
하려면을 줄이기 위해 입력하는 각 시간을 수정할 수 있습니다 .bash_profile
파일을 넣
alias remote_scp='scp -i ~/.ssh/id_rsa /local/path/to/file remote@ip.com:/path/in/remote/server/
그런 다음에서 당신의 터미지 source ~/.bash_profile
.는 경우 사후에 입력할 remote_scp
터미널에서 그것을 실행해야 scp
지 않고 명령을 암호입니다.
사용할 수 있습니다 ssh-copy-id
추가 ssh 키:
$which ssh-copy-id #check whether it exists
존재하는 경우:
ssh-copy-id "user@remote-system"
는 대안이 될 것 이라고 추가 공공의 반은 사용자의 핵심 인증-키에 파일 시스템입니다.시스템에서 당신은 시작에서 전송을 실행할 수 있습니다 ssh-agent 데몬 및 추가 개인의 절반이 핵심적이라고 판단했습니다.배치 작업할 수 있는 다음을 사용하도록 구성되어를 얻을 수 있도록 에이전트에 개인 키 보다는 오히려 자극에 대한 열쇠의 암호입니다.
이해야 할 수 있 중 하나에서 UNIX/Linux 시스템 또는 Windows 플랫폼을 사용하여 미인 대회와는 다음 각 호의 사항을 준수하여야 한.
단계 sshpass rhel/centos6:
# wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# yum install sshpass
이 정말 도움이 대답 기.
rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/
뿐만 아니라 전달할 수 있는 암호이지만,또한 그것은 진행률이 표시됩 복사하는 경우.정말 굉장하다.