다른 컴퓨터 루트에 스크립트 파일을 배치하고 싶습니다. 여기 내 터미널 명령이 있습니다
scp /var/www/html/script.sh [email protected]:script.sh
루트 비밀번호를 묻습니다. 올바른 루트 비밀번호를 입력했는데 이렇게 뜹니다
Permission denied, please try again.
누구든지 도와줄 수 있나요?
답변1
기본적으로 openssh는 루트 로그인 시도를 거부합니다. 그러나 이는 /etc/ssh/sshd_config
서버 측에서 수정하여 허용할 수 있습니다.
이 행이 yes로 설정되고 주석 처리되지 않았는지 확인하십시오.
PermitRootLogin yes
그런 다음 sshd를 다시로드하십시오.
그러나 위의 설정은 좋은 보안 방법이 아닙니다. 대신 pubkey 로그인을 사용하세요.
구성 줄은 다음과 같아야 합니다.
PermitRootLogin without-password
.
소스 머신 생성 키에서 마법사를 따르십시오.
ssh-keygen -t rsa
위 명령은 공개 키와 개인 키 쌍을 생성
.ssh/id_rsa.pub
하고 포함합니다. 콘텐츠를 대상 컴퓨터에.ssh/id_rsa
복사해야 합니다 . 존재하지 않는 경우 디렉터리와 파일을 만들고 Authorized_keys의 소유권이 인지 확인하세요 ..ssh/id_rsa.pub
/root/.ssh/authorized_keys
600
이제 scp 시도를 시도하면 1단계에서 입력한 비밀번호를 묻는 메시지가 표시됩니다.
답변2
비밀번호 없는 sudo 액세스 권한이 있다고 가정하면 다음이 작동합니다.
$ echo "My test file" > test
$ scp test [email protected]:/tmp/
test
$ ssh [email protected] "sudo mv /tmp/test /"
$ ssh [email protected] "cat /test"
My test file
- 테스트 파일을 만듭니다.
- 임시 디렉터리에 파일을 복사합니다.
- 파일을 루트 디렉터리로 이동합니다.
- 파일이 루트 디렉터리에 있는지 테스트합니다.