30 lines
1.2 KiB
Bash
30 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
#user_id=3;
|
||
|
user_id=$(docker exec mysql bash -c "mysql -Ns isp -p\$MYSQL_ROOT_PASSWORD -e 'SELECT id FROM auth_user where roles regexp '\''admin'\'' and state='\''active'\''limit 1;'" 2>/dev/null);
|
||
|
|
||
|
auth_retry=5;
|
||
|
log="/opt/ispsystem/tech_support.log"
|
||
|
log_lines=1000;
|
||
|
key="";
|
||
|
try=0;
|
||
|
token="";
|
||
|
docker_container=$(docker ps -a | grep -m 1 -oP 'vm_box|dci_back')
|
||
|
|
||
|
while [ "$res" != "key" ] && [ $try -lt $auth_retry ]
|
||
|
do
|
||
|
response=$(docker exec $docker_container curl -sX POST http://input:1500/auth/v4/user/$user_id/key -d '{}' -H 'internal-auth:on';)
|
||
|
res=$(echo $response | grep -o 'key')
|
||
|
key=$(echo $response | grep -oP '(?<="key":")[^"]*')
|
||
|
let "$try + 1";
|
||
|
#echo $key;
|
||
|
done;
|
||
|
|
||
|
response=$(docker exec $docker_container curl -sX POST http://input:1500/auth/v4/public/key -d "{\"key\":\"$key\"}" -H 'internal-auth:on');
|
||
|
token=$(echo $response | grep -oP '(?<="token":")[^"]*')
|
||
|
#echo $token;
|
||
|
response=$(docker exec $docker_container curl -sX POST -H "X-XSRF-Token: $token" -H "Cookie: ses6=$token" "http://input:1500/updater/v3/ssh_key" -d '{}');
|
||
|
|
||
|
echo "$(date "+%Y-%m-%d %H:%M:%S") enable tech support" $response && echo "$(date "+%Y-%m-%d %H:%M:%S") enable tech support" $response >$log;
|
||
|
tail -n $log_lines $log >$log;
|