mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-24 07:01:13 +02:00
remote_access.sh: remove dependence on ssh-agent
This is take 2 of this CL. Modified run_remote_test.sh to explicitly start an ssh-agent if necessary instead of implicitly relying on remote_access.sh to do it. BUG=n0ne TEST=Verified I could successfully ssh. Change-Id: I4e70b8574af1119dcf36768f6602ecc0cabedc31 Review URL: http://codereview.chromium.org/6288004
This commit is contained in:
parent
f867de71d0
commit
aef91ad564
@ -15,22 +15,24 @@ DEFINE_integer ssh_port 22 \
|
|||||||
|
|
||||||
# Copies $1 to $2 on remote host
|
# Copies $1 to $2 on remote host
|
||||||
function remote_cp_to() {
|
function remote_cp_to() {
|
||||||
REMOTE_OUT=$(scp -P ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \
|
REMOTE_OUT=$(scp -P ${FLAGS_ssh_port} -o StrictHostKeyChecking=no \
|
||||||
UserKnownHostsFile=$TMP_KNOWN_HOSTS $1 root@$FLAGS_remote:$2)
|
-o UserKnownHostsFile=$TMP_KNOWN_HOSTS -i $TMP_PRIVATE_KEY $1 \
|
||||||
|
root@$FLAGS_remote:$2)
|
||||||
return ${PIPESTATUS[0]}
|
return ${PIPESTATUS[0]}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Copies a list of remote files specified in file $1 to local location
|
# Copies a list of remote files specified in file $1 to local location
|
||||||
# $2. Directory paths in $1 are collapsed into $2.
|
# $2. Directory paths in $1 are collapsed into $2.
|
||||||
function remote_rsync_from() {
|
function remote_rsync_from() {
|
||||||
rsync -e "ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \
|
rsync -e "ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no \
|
||||||
UserKnownHostsFile=$TMP_KNOWN_HOSTS" --no-R \
|
-o UserKnownHostsFile=$TMP_KNOWN_HOSTS -i $TMP_PRIVATE_KEY" \
|
||||||
--files-from=$1 root@${FLAGS_remote}:/ $2
|
--no-R --files-from=$1 root@${FLAGS_remote}:/ $2
|
||||||
}
|
}
|
||||||
|
|
||||||
function remote_sh() {
|
function remote_sh() {
|
||||||
REMOTE_OUT=$(ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \
|
REMOTE_OUT=$(ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no \
|
||||||
UserKnownHostsFile=$TMP_KNOWN_HOSTS root@$FLAGS_remote "$@")
|
-o UserKnownHostsFile=$TMP_KNOWN_HOSTS -i $TMP_PRIVATE_KEY \
|
||||||
|
root@$FLAGS_remote "$@")
|
||||||
return ${PIPESTATUS[0]}
|
return ${PIPESTATUS[0]}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,15 +42,8 @@ function remote_sh_allow_changed_host_key() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function set_up_remote_access() {
|
function set_up_remote_access() {
|
||||||
if [ -z "$SSH_AGENT_PID" ]; then
|
|
||||||
eval $(ssh-agent)
|
|
||||||
OWN_SSH_AGENT=1
|
|
||||||
else
|
|
||||||
OWN_SSH_AGENT=0
|
|
||||||
fi
|
|
||||||
cp $FLAGS_private_key $TMP_PRIVATE_KEY
|
cp $FLAGS_private_key $TMP_PRIVATE_KEY
|
||||||
chmod 0400 $TMP_PRIVATE_KEY
|
chmod 0400 $TMP_PRIVATE_KEY
|
||||||
ssh-add $TMP_PRIVATE_KEY
|
|
||||||
|
|
||||||
# Verify the client is reachable before continuing
|
# Verify the client is reachable before continuing
|
||||||
echo "Initiating first contact with remote host"
|
echo "Initiating first contact with remote host"
|
||||||
@ -121,15 +116,10 @@ function remote_reboot() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Called by clients before exiting.
|
||||||
|
# Part of the remote_access.sh interface but now empty.
|
||||||
function cleanup_remote_access() {
|
function cleanup_remote_access() {
|
||||||
# Call this function from the exit trap of the main script.
|
true
|
||||||
# Iff we started ssh-agent, be nice and clean it up.
|
|
||||||
# Note, only works if called from the main script - no subshells.
|
|
||||||
if [[ 1 -eq ${OWN_SSH_AGENT} ]]
|
|
||||||
then
|
|
||||||
kill ${SSH_AGENT_PID} 2>/dev/null
|
|
||||||
unset SSH_AGENT_PID SSH_AUTH_SOCK
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function remote_access_init() {
|
function remote_access_init() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user