Adding port customisation
This commit is contained in:
parent
0b3a551ed3
commit
a9454db32f
3 changed files with 9 additions and 5 deletions
|
@ -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.
|
||||
|
||||
|
|
1
remotes/root@example.org/port
Normal file
1
remotes/root@example.org/port
Normal file
|
@ -0,0 +1 @@
|
|||
22
|
|
@ -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}..."
|
||||
|
|
Loading…
Reference in a new issue