curl
別のCentos 6サーバーをクライアントとして使用し、プロトコルを使用してCentos 6サーバーからファイルをダウンロードしようとすると、次scp
のエラー出力が表示されます。
$ curl -v -O scp://cz/path/to/file
* About to connect() to cz port 22 (#0)
* Trying 1.2.3.4... connected
* Connected to cz (1.2.3.4) port 22 (#0)
* Failed to read known hosts from /home/cpn/.ssh/known_hosts
* SSH host check: 0, key: AAAAB3NzaC1yc2EAAAABIwAAAQEAyeeDgYFsHi3Ks3PxCXt69IHBr7yNII720sXOm9WKIdGnwPf7QHbLsMf41mctcGRSJ2yO2EXpNEbZQhdUqs3oImdTn2OHF/K8STK1GXMVseusgmPuQWBt36AVPon7h9lSCjtxt+1UpFJoireXvhUDlgg9i1C9QbE04GAmA7vMOmtcVt3/3F6X/hKhOZvHj1gu5+RzCO8fXo2R8XeRoN0GcU2jVOhug0G+hXAiHymh5JzVm4YlCzsNIv3mDOF2lZRLdkor5FDKjBY8/o/5O8U0lWm4ie2S7qDppqCJP2SnNTWlaM3k5HDmdyEKKZ0lV+qG33q3ADZxjBeIKQtWLZfC3w==
* SSH authentication methods available: publickey,gssapi-keyex,gssapi-with-mic,password
* Using ssh public key file /home/cpn/.ssh/id_dsa.pub
* Using ssh private key file /home/cpn/.ssh/id_dsa
* SSH public key authentication failed: Username/PublicKey combination invalid
* Authentication failure
* Closing connection #0
scp
質問なしでファイルをダウンロードできます。
$ scp cz:/path/to/file .
ssh
何の質問もせずにサーバーに再ログインできます
$ ssh cz
ssh-rsa
キーはすべてサーバーファイルに存在します。ssh-dss
authorized_keys
あなたは何curl
について文句を言っていますか?私の唯一の推測は、顧客ファイルのキーがcurl
必須であるということです。では、どのように生成しますか?それとも、そのファイルでキーを見つける方法は?dsa
known_hosts
curl
rsa
修正する
クライアント側から:
$ ls -l /home/cpn/.ssh/known_hosts
-rw-r--r--. 1 cpn cpn 1970 Nov 12 16:12 /home/cpn/.ssh/known_hosts
答え1
少なくとも何が起こっているのかを説明できます。.
出力の背後にある権限は、ls -l
ファイルにアクセスするプログラムに基づいてファイル権限をオーバーライドする SELinux ポリシーがあることを示します。ファイルを表示するために使用される戦略ですls -Z ~/.ssh/known_hosts
。
おそらく、/usr/bin/ssh
その同伴プログラム(ssh-keygen
、scp
など)がファイルにアクセスできる唯一のプログラムです。私はこの方針に懐疑的です。~/.ssh/known_hosts
時には手動編集が役に立ちます。しかし、なぜカールが友達にファイルを読むことを許可せず、ファイルを読みたいのかはわかりませんssh
。
あなたはそれを使用することができますchcon
ファイルのポリシーを編集するコマンドrestorecon
デフォルトポリシーを復元します。よりCentOS WikiSELinuxに関する追加情報。
答え2
Googleでこのページを探している人のために:
known_hosts
以前のバージョンのcURLは、認識できないキータイプを持つファイルで動作が停止しているように見え、十分に古いcURLバージョンはssh-rsa
。
たとえば、私のcURLはバージョン7.29.0(6年前であり、作成時にCentOS 7で利用可能な最新バージョン)であり、最初のキーの後にキーの読み取りを停止します。これはecdsa-sha2-nistp256
私のファイルの最大の部分キーです。 。known_hosts
答え3
ありがとうございます。 Known_hostsファイルを消去すると、このエラーは消えました。これは長期的な解決策ではありませんが、ワンタイムソリューションとして使用できます。