It is required that your private key files are NOT accessible by others. This private key will be ignored.対処方法

最終更新日

Jenkinsからscp/sshした時、「It is required that your private key files are NOT accessible by others. This private key will be ignored.」が表示した時の対処方法

Jenkinsから以下のコマンドを実行した。

scp -P22 -o 'StrictHostKeyChecking no' -C -i '/var/lib/jenkins/xxxxx_private.key' ./test.txt test@xxxx.com:test

以下のエラー表示されコピー先のホストに対してファイル転送が失敗したので、その時の対処方法を記載しておく。

Started by user xxxx
Building in workspace /var/lib/jenkins/workspace/mysql_backup
[mysql_backup] $ /bin/bash /tmp/jenkinsxxxxxx.sh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/var/lib/jenkins/xxxxx_private.key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/var/lib/jenkins/xxxxx_private.key": bad permissions
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
Finished: SUCCESS

エラーの原因は、秘密鍵ファイルは他からアクセスできないようにしてくださいという警告でした。ファイルのアクセス権を見たところ、

-rw-rw----  1 jenkins jenkins  1704 Oct  2 17:03 xxxxxx_private.txt

となっていたので、警告をだされていたみたいだ。パーミッションを変更した。

chmod 600 xxxxxx_private.txt
[taro@test jenkins]# chmod 600 xxxxxx_private.txt
[taro@test jenkins]# ls -ls|grep xxxxxx_private.txt
 4 -rw-------  1 jenkins jenkins  1704 Oct  2 17:03 xxxxxx_private.txt
[taro@test jenkins]# 

無事、scpコマンドでファイルを転送先にコピーできた。