두 EC2 인스턴스 간에 SSH 연결을 설정해 보십시오. 호스트 A id_rsa.pub
키를 호스트 B의 authorized_keys
파일 에 복사합니다.
[root@ip-172-31-9-173 .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTTRSTwBClsq7/punxLQvq00Ba7iMZRbQKAQhC+GVuQFB2LfWk9Hsetu4CqHoGo4R4BJ/SW/4v+AfKlmQ/kA8WrQ12R0dR9cuhEbbnltMXSauwrsndIf4egJVzJs3BM12jXEx+E6wSlK8nUu3xpmY12WUkJOAWfWJ6rnE4XArIcmtNzfpJyZgFhNv2fKYRBTCgU0l4HLo2uIiQj8/aLT2gQeRUdARNn3QLBrITMN6rojo1vmWYnXhjWxeUoYVDj5+bsrqfbAtyzPm43WS+2RZ0T1Rr50+REl+jin0y108v04me7BluidN013oj+gLI73A86/qBgo08l5RwG2p+oOzf root@ip-172-31-9-173
[root@ip-172-31-11-205 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTTRSTwBClsq7/punxLQvq00Ba7iMZRbQKAQhC+GVuQFB2LfWk9Hsetu4CqHoGo4R4BJ/SW/4v+AfKlmQ/kA8WrQ12R0dR9cuhEbbnltMXSauwrsndIf4egJVzJs3BM12jXEx+E6wSlK8nUu3xpmY12WUkJOAWfWJ6rnE4XArIcmtNzfpJyZgFhNv2fKYRBTCgU0l4HLo2uIiQj8/aLT2gQeRUdARNn3QLBrITMN6rojo1vmWYnXhjWxeUoYVDj5+bsrqfbAtyzPm43WS+2RZ0T1Rr50+REl+jin0y108v04me7BluidN013oj+gLI73A86/qBgo08l5RwG2p+oOzf root@ip-172-31-9-173
실수:
[root@ip-172-31-9-173 ~]# ssh [email protected]
Permission denied (publickey).
여기에 무엇이 빠졌는지 잘 모르겠습니다.
답변1
두 번째 컴퓨터에 대한 연결을 시작한 컴퓨터에 개인 키 id_rsa가 없습니다.
루트로 실행하는 경우 /root/.ssh/id_rsa에 배치합니다. 또한 SSH는 권한에 대해 까다롭다는 점을 잊지 마십시오. 따라서 다음을 수행해야 합니다.
chmod 700 /root/.ssh
chmod 600 /root/.ssh/id_rsa
장기적으로는 루트가 아닌 일반 사용자로 작업하는 것을 고려하십시오.
답변2
@l0ckm4의 댓글
username
및 를 제공하여 실제로 SSH를 수행할 수 있습니까password
? 그렇지 않은 경우 파일에 액세스할 수 있으면 항목이 있고AllowUsers
파일/etc/ssh/sshd_config
상단의 서브넷에 대한 SSH 액세스를 허용하는지 확인하십시오. 변경한 경우sshd_config
다시 시작해야 합니다SSH service
.
sshd_config
다음 사항이 있는지 확인하세요 .
AllowUsers
DenyGroups
DenyUsers
설정 및 리모컨 액세스 허용 여부를 확인합니다.
known_hosts
때로는 디렉토리에서 이 파일을 재설정하는 것도 도움이 됩니다$HOME/.ssh
.
cat /dev/null > $HOME/.ssh/known_hosts
denyhosts
설치되어 있는지,IP
파일에서 주소가 차단되어 있는지 확인하세요hosts
.
잘못된 자격 증명으로 SSH를 통해 로그인을 여러 번 시도하여 IP 주소를 블랙리스트에 추가한 경우 콘솔을 사용하여 서비스에 연결하고(콘솔/VNC를 사용하여 VPS에 연결) 다음 명령을 사용할 수 있습니다. 블록 제거:
denyhosts
서비스 중지 (systemctl stop denyhosts
또는/etc/init.d/denyhosts stop
)- /etc/hosts.deny에서 IP가 포함된 줄을 제거합니다.
- 파일에서 IP가 포함된 줄을 제거합니다
/var/lib/denyhosts/hosts*
(참고: 모든 파일에 IP가 포함되는 것은 아닙니다). - IP가 있는 행 삭제
/var/lib/denyhosts/user-hosts
IPTABLES
'테이블에서 행 삭제denyhosts
서비스 시작
- 제대로 했는지 확인해보세요
port
이것이 문제가 되지 않는 경우 키를 생성하여 리모컨에 복사하는 단계는 다음과 같습니다.
로컬 시스템에서 키를 만듭니다.
ssh-keygen -o -b 4096 -t rsa -C [email protected]
또는:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/vps-cloud.web-server.key -C "My web-server key"
개인 키의 비밀번호를 입력하라는 메시지가 표시됩니다. 메시지가 표시되면 비밀번호를 설정하는 것이 좋습니다.
- -t rsa: 생성할 키 유형을 지정합니다. 프로토콜 버전 1의 경우 가능한 값은 "rsa1"이고, 프로토콜 버전 2의 경우 가능한 값은 "dsa", "ecdsa", "ed25519" 또는 "rsa"입니다.
- -b 4096: 생성할 키의 자릿수를 지정합니다.
- -f ~/.ssh/vps-cloud.web-server.key: 키 파일의 파일 이름을 지정합니다.
- -씨"[이메일 보호됨]" : 새로운 코멘트를 설정합니다.
루트 계정에서 서버에 접근하려면 su
위의 명령을 실행하고 반복하세요.
$HOME/.ssh/id_rsa
– 개인 키가 포함되어 있습니다.$HOME/.ssh/id_rsa.pub
– 공개 키가 포함되어 있습니다.
키를 리모컨에 복사합니다.
ssh-copy-id [email protected]
또는:
sh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]
또는:
먼저 .ssh
원격 서버에 디렉터리를 만듭니다.
ssh [email protected] "umask 077; test -d .ssh || mkdir .ssh"
cat
지역 신분증. rsa.pub
SSH 파일 및 파이프를 통해 공개 키를 원격 서버에 연결
cat $HOME/.ssh/id_rsa.pub | ssh [email protected] "cat >> .ssh/authorized_keys"
또는:
cat ~/.ssh/id_rsa.pub | ssh -p 22000 [email protected] "cat >> ~/.ssh/authorized_keys"
key
세션당 한 번만 비밀번호를 입력 하려면 다음을 .bashrc
파일에 추가하세요.
eval `ssh-agent`
ssh-add
그러면 터미널/셸이 시작될 때 비밀번호를 다시 묻는 대신 비밀번호를 묻는 메시지가 표시됩니다.