私はこのチュートリアルに従っています。Linux 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
異なるポートを持つスイッチを処理できないために発生するようです。
私のスクリプトバージョンの1行は次のとおりです。
{ 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
。