問題
$ winpty docker-compose exec proxy ls -l //key
total 4
-rwxr-xr-x 1 root root 1692 Mar 17 20:42 id_rsa
$ winpty docker-compose exec proxy chmod 0600 //key/id_rsa
$ winpty docker-compose exec proxy ls -l //key
total 4
-rwxr-xr-x 1 root root 1692 Mar 17 20:42 id_rsa
$ winpty docker-compose exec proxy ssh -i //key/id_rsa $STEP_SERVER_USER@$STEP_SERVER
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/key/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/key/id_rsa": bad permissions
Permission denied (publickey).
解決方法
docker-entrypoint.sh
でマウントされた鍵ファイルのコピーを内部で作って chmod
する
github.com
#!/bin/sh
KEY_PATH=/root/.ssh
KEY_FILE=key.pem
KEY_FILEPATH=$KEY_PATH/$KEY_FILE
mkdir -p $KEY_PATH
cat /key/$INPUT_KEY_FILENAME > $KEY_FILEPATH
chmod 0600 $KEY_FILEPATH
SSH="ssh -o 'StrictHostKeyChecking no' \
-o 'ServerAliveInterval 15' \
-i $KEY_FILEPATH \
-D 0.0.0.0:$LOCAL_PORT \
-N \
$STEP_SERVER_USER@$STEP_SERVER"
echo $SSH
eval $SSH