[Fuego] [PATCH] ssh: allow login without password

Bird, Timothy Tim.Bird at sony.com
Sat Dec 23 00:31:18 UTC 2017


Accepted and pushed.  This is a nice addition.  Thanks!
 -- Tim

> -----Original Message-----
> From: fuego-bounces at lists.linuxfoundation.org [mailto:fuego-
> bounces at lists.linuxfoundation.org] On Behalf Of Daniel Sangorrin
> Sent: Thursday, December 21, 2017 6:59 PM
> To: fuego at lists.linuxfoundation.org
> Subject: [Fuego] [PATCH] ssh: allow login without password
> 
> This patch enables accessing target boards from ssh without
> the need of a password. Users need to define the path
> to the ssh private key on the board file using the variable
> SSH_KEY. The key must be accessible by the user jenkins (e.g.
> SSH_KEY="/fuego-ro/boards/bbb_id_rsa").
> 
> Signed-off-by: Daniel Sangorrin <daniel.sangorrin at toshiba.co.jp>
> ---
>  engine/overlays/base/base-board.fuegoclass  | 18 +++++++++++++++---
>  engine/overlays/base/base-params.fuegoclass |  4 ++--
>  2 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/engine/overlays/base/base-board.fuegoclass
> b/engine/overlays/base/base-board.fuegoclass
> index e1eeea4..bdda9c3 100644
> --- a/engine/overlays/base/base-board.fuegoclass
> +++ b/engine/overlays/base/base-board.fuegoclass
> @@ -87,7 +87,11 @@ function ov_transport_disconnect () {
>  function ov_transport_get () {
>    case "$TRANSPORT" in
>    "ssh")
> -    $SCP -r $LOGIN@${DEVICE}:"$1" "${*:2}"
> +    if [ -n "${SSH_KEY}" ] ; then
> +      scp -i ${SSH_KEY} ${SCP_ARGS} -r $LOGIN@${DEVICE}:"$1" "${*:2}"
> +    else
> +      sshpass -e scp ${SCP_ARGS} -r $LOGIN@${DEVICE}:"$1" "${*:2}"
> +    fi
>      ;;
>    "ttc")
>      $TTC $TTC_TARGET cp target:"$1" "${*:2}"
> @@ -121,7 +125,11 @@ function ov_transport_get () {
>  function ov_transport_put () {
>    case "$TRANSPORT" in
>    "ssh")
> -    $SCP -r "${@:1:$(($#-1))}" $LOGIN@$DEVICE:"${@: -1}"
> +    if [ -n "${SSH_KEY}" ] ; then
> +      scp -i ${SSH_KEY} ${SCP_ARGS} -r "${@:1:$(($#-1))}"
> $LOGIN@$DEVICE:"${@: -1}"
> +    else
> +      sshpass -e scp ${SCP_ARGS} -r "${@:1:$(($#-1))}"
> $LOGIN@$DEVICE:"${@: -1}"
> +    fi
>      ;;
>    "ttc")
>      $TTC $TTC_TARGET cp "${@:1:$(($#-1))}" target:"${@: -1}"
> @@ -155,7 +163,11 @@ function ov_transport_put () {
>  function ov_transport_cmd() {
>    case "$TRANSPORT" in
>    "ssh")
> -    ${SSH}${DEVICE} "$@"
> +    if [ -n "${SSH_KEY}" ] ; then
> +      ssh -i ${SSH_KEY} ${SSH_ARGS}${DEVICE} "$@"
> +    else
> +      sshpass -e ssh ${SSH_ARGS}${DEVICE} "$@"
> +    fi
>      ;;
>    "ttc")
>      $TTC $TTC_TARGET run "$@"
> diff --git a/engine/overlays/base/base-params.fuegoclass
> b/engine/overlays/base/base-params.fuegoclass
> index 4f85f83..a33d876 100644
> --- a/engine/overlays/base/base-params.fuegoclass
> +++ b/engine/overlays/base/base-params.fuegoclass
> @@ -4,8 +4,8 @@ OF.DESCRIPTION="Basic parameters which are included
> after board/base-class"
>  DEVICE="$IPADDR"
> 
>  PATH="/usr/local/bin:$PATH"
> -SSH="sshpass -e ssh -o ServerAliveInterval=30 -o StrictHostKeyChecking=no
> -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -
> p $SSH_PORT $LOGIN@"
> -SCP="sshpass -e scp -o ServerAliveInterval=30 -o StrictHostKeyChecking=no
> -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -
> P $SSH_PORT"
> +SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -p
> $SSH_PORT $LOGIN@"
> +SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -P
> $SSH_PORT"
>  TTC="ttc"
>  SERCP="run_python_quiet /usr/local/bin/sercp -T $IO_TIME_SERIAL -b
> $BAUD -r"
>  SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL -b
> $BAUD $SERIAL "
> --
> 2.7.4
> 
> 
> _______________________________________________
> Fuego mailing list
> Fuego at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/fuego


More information about the Fuego mailing list