Adding port customisation

This commit is contained in:
Ad5001 2023-03-22 13:24:58 +01:00
parent 0b3a551ed3
commit a9454db32f
Signed by: Ad5001
GPG Key ID: EF45F9C6AFE20160
3 changed files with 9 additions and 5 deletions

View File

@ -17,8 +17,9 @@ This script has several dependencies:
First of all, you will need create the scripts that will be executed on the remote servers.
1. Head to the `remotes` directory
2. Create a new directory named using the `user`@`host` pattern for the remote host and the user on it you want to execute the script on. (e.g: `root@example.org`) if it does not exist.
3. Create a new script (the file name will be used as script name when it's executed at runtime).
4. (optional) You can import common libraries by adding a comment on line two following this pattern : `# Requires: libraries/<path/to/library>.sh`. You can import several libraries by separating them by a space. You can see the various default included libraries in the `libraries` directory.
3. Create a file `port` with the SSH port number.
4. Create a new script (the file name will be used as script name when it's executed at runtime).
5. (optional) You can import common libraries by adding a comment on line two following this pattern : `# Requires: libraries/<path/to/library>.sh`. You can import several libraries by separating them by a space. You can see the various default included libraries in the `libraries` directory.
**Note**: The libraries/common.sh library will always be imported into the server so you don't need to reference it there.

View File

@ -0,0 +1 @@
22

View File

@ -48,6 +48,7 @@ for folder in "$REMOTES"/*; do
echo -e "\n"
dependencies="libraries/common.sh"
full_script=""
port="$(cat $folder/port)"
# Executing all necessary scripts
if [[ $pswd != "skip" ]]; then
for script in $folder/*.sh; do
@ -72,11 +73,12 @@ $full_script"
export SSH_ASKPASS="$(pwd)/tmp.sh"
export SSH_ASKPASS_REQUIRE="force"
# Transmit the script
echo "$full_script" | ssh -q $host "tee run.sh" 1>/dev/null
echo "$full_script" | ssh -q $host -p $port "tee run.sh" 1>/dev/null
info "Transmitted script"
# Run and remove it.
#ssh $host PASSWORD="$pswd" "bash run.sh && rm run.sh"
ssh -t $host PASSWORD="$pswd" "bash -i run.sh && rm run.sh"
ssh $host -p $port PASSWORD="$pswd" "bash run.sh && rm run.sh"
## Interactive shell does not work.
#ssh -t $host PASSWORD="$pswd" "bash -i run.sh && rm run.sh"
rm tmp.sh
else
box "Skipping ${host}..."