最近ホストを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
長年うまく働いてきました。今これがなぜ問題なのか知っている人はいますか?
/root/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
1行の長いテキストで始まり、含める必要があります。
このcommand="/root/bin/rsync_only"
ディレクティブは次に追加できるものです。authorized_keys
文書SSHから仕える人作る仕える人特定のコマンドを実行するようにキーストロークを制限します。これは公開鍵ファイルに追加できるものではなく、SSHには適していません。顧客良いssh
。