octodemo / awesome-actions

Repository template used to showcase Actions that tie into pull request and issue events
109 stars 24 forks source link

Let me ssh into the GitHub Action runner #67

Closed jonico closed 4 years ago

jonico commented 4 years ago

@github-actions run

🌐 SSH debug over Piping Server ```js const pathLen = 64; const aPath = randomString(pathLen); const bPath = randomString(pathLen); console.log(execSync(` chmod 755 "$HOME" ls -lA /home authorized_keys_file="$(sshd -T 2>/dev/null | grep -E '^authorizedkeysfile ' | cut -d ' ' -f 2)" authorized_keys_file="$(cd && realpath -m "$authorized_keys_file")" sshd_config_dir="$(dirname "$authorized_keys_file")" (umask 0077 && mkdir "$sshd_config_dir") echo $authorized_keys_file; # (from: https://qiita.com/zackey2/items/429c77e5780ba8bc1bf9#authorized_keys%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95) (echo; curl https://github.com/jonico.keys; echo) >> ~/.ssh/authorized_keys sudo apt install -y socat; `).toString()); // Comment new session const commentBody = `\ ## 🌐 New SSH session Run the commands below in different terminals. \`\`\`bash socat TCP-LISTEN:31376 'EXEC:curl -NsS https\\://ppng.io/${bPath}!!EXEC:curl -NsST - https\\://ppng.io/${aPath}' \`\`\` \`\`\`bash ssh-keygen -R '[localhost]:31376' ssh -p 31376 runner@localhost \`\`\` `; await githubClient.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: commentBody }); execSync(`socat 'EXEC:curl -NsS https\\://ppng.io/${aPath}!!EXEC:curl -NsST - https\\://ppng.io/${bPath}' TCP:127.0.0.1:22`); // (from: https://stackoverflow.com/a/1349426/2885946) function randomString(length) { let result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; const charactersLength = characters.length; for ( var i = 0; i < length; i++ ) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } ``` ## References * ) * Thanks Cryolite!
github-actions[bot] commented 4 years ago

🌐 New SSH session

Run the commands below in different terminals.

socat TCP-LISTEN:31376 'EXEC:curl -NsS https\://ppng.io/ZVlBoD4SKmAhQ4odBN7nlPQV2ZbdLhYxMhj8qavXZeapuQvcXbP2ZHL5mQxLcwS2!!EXEC:curl -NsST - https\://ppng.io/5ckuPlK62sMvOgwMGS0vjECYl7pMEuc4c18nCiiUds90zxn3VO9hUA0uJ5xtTjxa'
ssh-keygen -R '[localhost]:31376'
ssh -p 31376 runner@localhost
github-actions[bot] commented 4 years ago

This issue is stale because it has been open 1 day with no activity. Remove stale label or comment or this will be closed in 2 days