@@ -233,37 +233,33 @@ instance-ssh() {
233
233
#
234
234
# USAGE: instance-ssh [login] [instance-id] [instance-id]
235
235
236
+ local ssh_user instance_id keyname private_ip instance_name instance_default_user
236
237
if [[ $1 != * i-* ]]; then
237
- local user= ${1}
238
+ ssh_user= " ${1} "
238
239
shift
239
240
fi
240
- local instance_ids=$( skim-stdin " $@ " )
241
- if [[ -z $ instance_ids ]] ; then
242
- echo " Usage: $FUNCNAME [login] [instance-id] [instance-id]"
241
+ instance_ids=$( skim-stdin " $@ " )
242
+ if [[ -z " ${ instance_ids} " ]] ; then
243
+ __bma_usage " [login] [instance-id] [instance-id]"
243
244
return 1
244
245
fi
245
246
246
247
exec < /dev/tty # reattach keyboard to STDIN
247
248
248
- for instance_id in $instance_ids ; do
249
- local instance_details=" $( instance-ssh-details $instance_id ) "
250
- local instance_id=$( echo $instance_details | awk ' {print $1}' )
251
- local keyname=$( echo $instance_details | awk ' {print $2}' )
252
- local private_ip=$( echo $instance_details | awk ' {print $3}' )
253
- local instance_name=$( echo $instance_details | awk ' {print $4}' )
254
- local instance_default_user=$( echo $instance_details | awk ' {print $5}' )
255
-
256
- local USERNAME=${user:- ${instance_default_user:- ${AWS_DEFAULT_USER:- root} } }
249
+ for instance_id in ${instance_ids} ; do
250
+ read -r instance_id keyname private_ip instance_name instance_default_user < <( instance-ssh-details " ${instance_id} " )
251
+
252
+ ssh_user=" ${ssh_user:- ${instance_default_user:- ${AWS_DEFAULT_USER:- root} } } "
257
253
echo " Connecting to EC2 Instance $instance_id '$instance_name '" 2>&1
258
254
259
- ssh \
260
- -t \
261
- -i " ${BMA_SSH_DIR:- ~/ .ssh} /$keyname " \
262
- -o LogLevel=error \
263
- -o StrictHostKeyChecking=no \
264
- -o UserKnownHostsFile=/dev/null \
265
- -l " $USERNAME " \
266
- " $private_ip "
255
+ ssh \
256
+ -t \
257
+ -i " ${BMA_SSH_DIR:- ~/ .ssh} /${ keyname} " \
258
+ -o LogLevel=error \
259
+ -o StrictHostKeyChecking=no \
260
+ -o UserKnownHostsFile=/dev/null \
261
+ -l " ${ssh_user} " \
262
+ " ${ private_ip} "
267
263
done
268
264
}
269
265
0 commit comments