나는 이 튜토리얼을 따르고 있다리눅스 SSH 튜토리얼
공개 키를 원격 서버에 수동으로 전송하고 비밀번호를 묻지 않았기 때문에 다음 명령을 실행했습니다.
chmod 700 ~/.ssh
&
chmod 600 ~/.ssh/authorized_keys
하지만 여전히 비밀번호를 묻지는 않습니다. 공개 키를 설치하기 위해 업데이트된 자동 방법을 시도했는데 다음 오류 메시지가 표시되었습니다.ssh-copy-id -p 2222 [email protected]
오류 포트 'umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/ .ssh/authorized_keys >/dev/null 2>&1 ||
수동으로 이체했기 때문에 이런 오류가 발생하는 건가요?
로그인을 실행했을 ssh
때 -v
다음과 같이 언급되었습니다 public key
. **
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/localusername/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/localusername/.ssh/id_rsa
debug1: Trying private key: /home/localusername/.ssh/id_ecdsa
debug1: Next authentication method: keyboard-interactive
로그인 전 내용이니 참고하세요.
답변1
이러한 오류는 ssh-copy-id
스크립트가 -p
다른 포트를 가진 스위치를 처리할 수 없기 때문에 발생하는 것 같습니다.
내 스크립트 버전의 한 줄은 다음과 같습니다.
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys; test -x /sbin/restorecon && /sbi
n/restorecon .ssh .ssh/authorized_keys" || exit 1
ssh-copy-id
이 매개변수를 통합하기 위해 매개변수가 전달되지 않습니다 -p 2222
. 적어도 ssh-copy-id
그것을 사용하려고 할 때 첫 번째 인수로 사용되지는 않습니다. 사용법은 다음과 같습니다:
$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
대신, 키를 수동으로 복사해야 합니다. 안타깝게도 비표준 포트(예: -p 2222
.