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.
|
First of all, you will need create the scripts that will be executed on the remote servers.
|
||||||
1. Head to the `remotes` directory
|
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.
|
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).
|
3. Create a file `port` with the SSH port number.
|
||||||
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.
|
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.
|
**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"
|
echo -e "\n"
|
||||||
dependencies="libraries/common.sh"
|
dependencies="libraries/common.sh"
|
||||||
full_script=""
|
full_script=""
|
||||||
|
port="$(cat $folder/port)"
|
||||||
# Executing all necessary scripts
|
# Executing all necessary scripts
|
||||||
if [[ $pswd != "skip" ]]; then
|
if [[ $pswd != "skip" ]]; then
|
||||||
for script in $folder/*.sh; do
|
for script in $folder/*.sh; do
|
||||||
|
@ -72,11 +73,12 @@ $full_script"
|
||||||
export SSH_ASKPASS="$(pwd)/tmp.sh"
|
export SSH_ASKPASS="$(pwd)/tmp.sh"
|
||||||
export SSH_ASKPASS_REQUIRE="force"
|
export SSH_ASKPASS_REQUIRE="force"
|
||||||
# Transmit the script
|
# 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"
|
info "Transmitted script"
|
||||||
# Run and remove it.
|
# Run and remove it.
|
||||||
#ssh $host PASSWORD="$pswd" "bash run.sh && rm run.sh"
|
ssh $host -p $port PASSWORD="$pswd" "bash run.sh && rm run.sh"
|
||||||
ssh -t $host PASSWORD="$pswd" "bash -i 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
|
rm tmp.sh
|
||||||
else
|
else
|
||||||
box "Skipping ${host}..."
|
box "Skipping ${host}..."
|
||||||
|
|
Loading…
Reference in a new issue