최근에 호스트를 Ubuntu 14.04에서 18.04로 업그레이드했는데 ssh
18.04에서 사용하려고 하면 오류 메시지가 나타납니다 key_load_public: invalid format
.
이 호스트(및 원격)에서 사용 중인 키 쌍의 공개 키 부분은 다음과 같습니다.
command="/root/bin/rsync_only" ssh-rsa AAAAB...kEzWH0cMQ== root@vargas
해당 섹션을 제거해도 오류가 command=
발생하지 않는 것 같습니다. invalid format
수년간 잘 작동해 왔습니다. 지금 이게 왜 문제인지 아는 사람 있나요?
/루트/bin/rsync_only
#!/bin/sh
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac
SSH-vvv
# ssh remote_host -i ~/.ssh/id_rsync -vvv
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /root/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "remote_host" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to remote_host [10.10.16.1] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
key_load_public: invalid format
...
Ubuntu 14.04 ssh 및 -vvv 출력
ubuntu-14.04 # ssh remote_host -i ~/.ssh/id_rsync
Rejected
Connection to remote_host closed.
ubuntu-14.04# ssh remote_host -i ~/.ssh/id_rsync -vvv
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /root/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to remote_host [10.10.16.1] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug3: Incorrect RSA1 identifier
debug3: Could not load "/root/.ssh/id_rsync" as a RSA1 public key
debug2: key_type_from_name: unknown key type 'command="/root/bin/rsync_only"'
debug3: key_read: missing keytype
...
답변1
command="/root/bin/rsync_only" ssh-rsa AAAAB...kEzWH0cMQ== root@vargas
command="/root/bin/rsync_only"
공개 키 파일에서 텍스트를 제거합니다. 공개 키 파일은 ssh-rsa
한 줄의 긴 텍스트로 시작하고 포함해야 합니다.
이 command="/root/bin/rsync_only"
지시문은 다음에 추가할 수 있는 것입니다.authorized_keys
문서SSH에서섬기는 사람만들다섬기는 사람특정 명령을 실행하도록 키 입력을 제한합니다. 이는 공개 키 파일에 추가할 수 있는 것이 아니며 SSH에는 적합하지 않습니다.고객좋다 ssh
.