[Shell_Progrmming] 비밀 번호 입력 문제 코드 수정 좀 부탁 드?

ungqum77의 이미지

#!/bash/bin
pass="mypass$1"

tp(){
sleep 3;echo '$pass'
}

tp | scp temp.txt mymy@127.0.0.1:./directory/

exit 0

작성을 했습니다.
그런데 비밀 번호 는 여전히 입력 되지 않고 있습니다. ㅜㅜ
부탁 드립니다.
$1은 아이피 뒷자리 입니다.

cinsk의 이미지

흠... 하는 일이 scp 하나이므로 다음을 반복해 보세요.

client (scp를 실행시키는 쪽)에서

$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/garfield/.ssh/id_dsa):
Created directory '/home/garfield/.ssh'.
Enter passphrase (empty for no passphrase): <RET>
Enter same passphrase again: <RET>
Your identification has been saved in /home/garfield/.ssh/id_dsa.
Your public key has been saved in /home/garfield/.ssh/id_dsa.pub.
The key fingerprint is:
9f:8c:e2:0a:7c:2a:23:a6:76:3c:6b:44:7a:18:96:da USERID@SOME.NET
$ _

그리고 나서 아래 명령을 실행합니다:

$ cat ~/.ssh/id_dsa.pub | ssh 원격ID@원격HOST "cat >> .ssh/authorized_keys"
password: 암호입력<RET>
$ _

그 다음에 client측에서 scp 명령을 쓰면 암호 인증 없이 바로 쓸 수 있습니다.
따라서, shell script 만들때, password를 자동으로 입력하는 과정이 필요 없습니다.

devilian의 이미지

Scp 는 인증키를 사용합니다.
먼저 scp 이용하실 계정으로 접근해서 인증키를 만드신후에, 인증키를 접근하실 서버에
카피해놓은후 설정을 해보시길 바랍니다.
저역시 잠깐 rcp 때문에 써봤습니다만..
인증키 부분에서 복사후 퍼미션조정 오류로 삽질을 꽤 한적이 있습니다.