All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
@ 2016-11-25  2:11 Tong Li
       [not found] ` <1480039895-20001-1-git-send-email-tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Tong Li @ 2016-11-25  2:11 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA; +Cc: Tong Li

Bug related to this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1360131
Now dracut only attempts to copy GlobalKnownHostsFile while generating kdump's
initramfs. This method will cause kdump's failure if users set customized
UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to copy
those files too while going through /etc/ssh/ssh_config. Note that we need to
make sure ~/foo will be copied as /root/foo in kdump's initramfs.

Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
 modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
index 0a0e80c..bebcae5 100755
--- a/modules.d/95ssh-client/module-setup.sh
+++ b/modules.d/95ssh-client/module-setup.sh
@@ -45,11 +45,18 @@ inst_sshenv()
         inst_simple /etc/ssh/ssh_config
         sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/' ${initdir}/etc/ssh/ssh_config
         while read key val || [ -n "$key" ]; do
-            [[ $key != "GlobalKnownHostsFile" ]] && continue
-            inst_simple "$val"
-            break
-        done < /etc/ssh/ssh_config
-    fi
+            if [ $key != "GlobalKnownHostsFile" ]; then
+                inst_simple "$val"
+            # Copy customized UserKnowHostsFile
+            elif [ $key != "UserKnownHostsFile" ]; then
+                # Make sure that ~/foo will be copied as /root/foo in kdump's initramfs
+                if str_starts "$val" "~/"; then
+                    val="/root/${val#"~/"}"
+                fi
+                inst_simple "$val"
+            fi
+         done < /etc/ssh/ssh_config
+     fi
 
     return 0
 }
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found] ` <1480039895-20001-1-git-send-email-tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-11-25  3:04   ` Dracut GitHub Import Bot
  2016-11-29  8:40   ` Xunlei Pang
  2016-12-02  2:00   ` Dave Young
  2 siblings, 0 replies; 7+ messages in thread
From: Dracut GitHub Import Bot @ 2016-11-25  3:04 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA

Patchset imported to github.
Pull request:
<https://github.com/dracutdevs/dracut/compare/master...dracut-mailing-devs:1480039895-20001-1-git-send-email-tonli%40redhat.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found] ` <1480039895-20001-1-git-send-email-tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2016-11-25  3:04   ` Dracut GitHub Import Bot
@ 2016-11-29  8:40   ` Xunlei Pang
       [not found]     ` <CAOAn1LPhyJ+gG=mAkM3EDZ2FiARG6PxffzKCfDWJigx97Svu1Q@mail.gmail.com>
       [not found]     ` <583D3EF2.4050705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2016-12-02  2:00   ` Dave Young
  2 siblings, 2 replies; 7+ messages in thread
From: Xunlei Pang @ 2016-11-29  8:40 UTC (permalink / raw)
  To: Tong Li, initramfs-u79uwXL29TY76Z2rM5mHXA

On 2016/11/25 at 10:11, Tong Li wrote:
> Bug related to this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1360131
> Now dracut only attempts to copy GlobalKnownHostsFile while generating kdump's
> initramfs. This method will cause kdump's failure if users set customized
> UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to copy
> those files too while going through /etc/ssh/ssh_config. Note that we need to
> make sure ~/foo will be copied as /root/foo in kdump's initramfs.
>
> Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
>  modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
> index 0a0e80c..bebcae5 100755
> --- a/modules.d/95ssh-client/module-setup.sh
> +++ b/modules.d/95ssh-client/module-setup.sh
> @@ -45,11 +45,18 @@ inst_sshenv()
>          inst_simple /etc/ssh/ssh_config
>          sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/' ${initdir}/etc/ssh/ssh_config
>          while read key val || [ -n "$key" ]; do
> -            [[ $key != "GlobalKnownHostsFile" ]] && continue
> -            inst_simple "$val"
> -            break
> -        done < /etc/ssh/ssh_config
> -    fi
> +            if [ $key != "GlobalKnownHostsFile" ]; then

Shouldn't it be "$key = "GlobalKnownHostsFile" instead of "!="?

> +                inst_simple "$val"
> +            # Copy customized UserKnowHostsFile
> +            elif [ $key != "UserKnownHostsFile" ]; then

ditto

> +                # Make sure that ~/foo will be copied as /root/foo in kdump's initramfs
> +                if str_starts "$val" "~/"; then
> +                    val="/root/${val#"~/"}"
> +                fi
> +                inst_simple "$val"

Seems may have "UserKnownHostsFile  no", so it will end up with "inst_simple no".

Regards,
Xunlei

> +            fi
> +         done < /etc/ssh/ssh_config
> +     fi
>  
>      return 0
>  }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found]       ` <CAOAn1LPhyJ+gG=mAkM3EDZ2FiARG6PxffzKCfDWJigx97Svu1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2016-11-29  9:02         ` Xunlei Pang
  0 siblings, 0 replies; 7+ messages in thread
From: Xunlei Pang @ 2016-11-29  9:02 UTC (permalink / raw)
  To: Tong Li, Xunlei Pang; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA

On 2016/11/29 at 16:51, Tong Li wrote:
> Hi,
>
> On Tue, Nov 29, 2016 at 4:40 PM, Xunlei Pang <xpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org <mailto:xpang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>> wrote:
>
>     On 2016/11/25 at 10:11, Tong Li wrote:
>     > Bug related to this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1360131 <https://bugzilla.redhat.com/show_bug.cgi?id=1360131>
>     > Now dracut only attempts to copy GlobalKnownHostsFile while generating kdump's
>     > initramfs. This method will cause kdump's failure if users set customized
>     > UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to copy
>     > those files too while going through /etc/ssh/ssh_config. Note that we need to
>     > make sure ~/foo will be copied as /root/foo in kdump's initramfs.
>     >
>     > Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org <mailto:tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>>
>     > ---
>     >  modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
>     >  1 file changed, 12 insertions(+), 5 deletions(-)
>     >
>     > diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
>     > index 0a0e80c..bebcae5 100755
>     > --- a/modules.d/95ssh-client/module-setup.sh
>     > +++ b/modules.d/95ssh-client/module-setup.sh
>     > @@ -45,11 +45,18 @@ inst_sshenv()
>     >          inst_simple /etc/ssh/ssh_config
>     >          sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/' ${initdir}/etc/ssh/ssh_config
>     >          while read key val || [ -n "$key" ]; do
>     > -            [[ $key != "GlobalKnownHostsFile" ]] && continue
>     > -            inst_simple "$val"
>     > -            break
>     > -        done < /etc/ssh/ssh_config
>     > -    fi
>     > +            if [ $key != "GlobalKnownHostsFile" ]; then
>
>     Shouldn't it be "$key = "GlobalKnownHostsFile" instead of "!="?
>
> Yes, you are right. That's a mistake made when I send the patch. I will reopen a pull request to correct it.
>
>
>     > +                inst_simple "$val"
>     > +            # Copy customized UserKnowHostsFile
>     > +            elif [ $key != "UserKnownHostsFile" ]; then
>
>     ditto
>
>     > +                # Make sure that ~/foo will be copied as /root/foo in kdump's initramfs
>     > +                if str_starts "$val" "~/"; then
>     > +                    val="/root/${val#"~/"}"
>     > +                fi
>     > +                inst_simple "$val"
>
>     Seems may have "UserKnownHostsFile  no", so it will end up with "inst_simple no".
>
> According to posts I found, it's more common to set UserKnownHostsFile as /dev/null to disable key checking.  Is "UserKnownHostsFile no" a correct usage?

I am not sure, but "UserKnownHostsFile /dev/null" sounds more reasonable :-)

>  
>
>
>     Regards,
>     Xunlei
>
>     > +            fi
>     > +         done < /etc/ssh/ssh_config
>     > +     fi
>     >
>     >      return 0
>     >  }
>
>
>
> Regards,
> -- 
> Tong

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found]     ` <583D3EF2.4050705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-12-02  1:56       ` Dave Young
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Young @ 2016-12-02  1:56 UTC (permalink / raw)
  To: xlpang-H+wXaHxf7aLQT0dZR+AlfA; +Cc: Tong Li, initramfs-u79uwXL29TY76Z2rM5mHXA

On 11/29/16 at 04:40pm, Xunlei Pang wrote:
> On 2016/11/25 at 10:11, Tong Li wrote:
> > Bug related to this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1360131
> > Now dracut only attempts to copy GlobalKnownHostsFile while generating kdump's
> > initramfs. This method will cause kdump's failure if users set customized
> > UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to copy
> > those files too while going through /etc/ssh/ssh_config. Note that we need to
> > make sure ~/foo will be copied as /root/foo in kdump's initramfs.
> >
> > Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> > ---
> >  modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
> >  1 file changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
> > index 0a0e80c..bebcae5 100755
> > --- a/modules.d/95ssh-client/module-setup.sh
> > +++ b/modules.d/95ssh-client/module-setup.sh
> > @@ -45,11 +45,18 @@ inst_sshenv()
> >          inst_simple /etc/ssh/ssh_config
> >          sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/' ${initdir}/etc/ssh/ssh_config
> >          while read key val || [ -n "$key" ]; do
> > -            [[ $key != "GlobalKnownHostsFile" ]] && continue
> > -            inst_simple "$val"
> > -            break
> > -        done < /etc/ssh/ssh_config
> > -    fi
> > +            if [ $key != "GlobalKnownHostsFile" ]; then
> 
> Shouldn't it be "$key = "GlobalKnownHostsFile" instead of "!="?
> 
> > +                inst_simple "$val"
> > +            # Copy customized UserKnowHostsFile
> > +            elif [ $key != "UserKnownHostsFile" ]; then
> 
> ditto
> 
> > +                # Make sure that ~/foo will be copied as /root/foo in kdump's initramfs
> > +                if str_starts "$val" "~/"; then
> > +                    val="/root/${val#"~/"}"
> > +                fi
> > +                inst_simple "$val"
> 
> Seems may have "UserKnownHostsFile  no", so it will end up with "inst_simple no".

If one use "no" as the filename, we should install it. We do not need to
guess the wrong configuration..

> 
> Regards,
> Xunlei
> 
> > +            fi
> > +         done < /etc/ssh/ssh_config
> > +     fi
> >  
> >      return 0
> >  }
> 
> --
> To unsubscribe from this list: send the line "unsubscribe initramfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found] ` <1480039895-20001-1-git-send-email-tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2016-11-25  3:04   ` Dracut GitHub Import Bot
  2016-11-29  8:40   ` Xunlei Pang
@ 2016-12-02  2:00   ` Dave Young
       [not found]     ` <CAOAn1LMB9i3Sz-1Npgw0cVm1i-n6U0pymathNftMVu89RNt6JA@mail.gmail.com>
  2 siblings, 1 reply; 7+ messages in thread
From: Dave Young @ 2016-12-02  2:00 UTC (permalink / raw)
  To: Tong Li; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA

On 11/25/16 at 10:11am, Tong Li wrote:
> Bug related to this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1360131
> Now dracut only attempts to copy GlobalKnownHostsFile while generating kdump's
> initramfs. This method will cause kdump's failure if users set customized
> UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to copy
> those files too while going through /etc/ssh/ssh_config. Note that we need to
> make sure ~/foo will be copied as /root/foo in kdump's initramfs.
> 
> Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
>  modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
> index 0a0e80c..bebcae5 100755
> --- a/modules.d/95ssh-client/module-setup.sh
> +++ b/modules.d/95ssh-client/module-setup.sh
> @@ -45,11 +45,18 @@ inst_sshenv()
>          inst_simple /etc/ssh/ssh_config
>          sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/' ${initdir}/etc/ssh/ssh_config
>          while read key val || [ -n "$key" ]; do
> -            [[ $key != "GlobalKnownHostsFile" ]] && continue
> -            inst_simple "$val"
> -            break
> -        done < /etc/ssh/ssh_config
> -    fi
> +            if [ $key != "GlobalKnownHostsFile" ]; then
> +                inst_simple "$val"
> +            # Copy customized UserKnowHostsFile
> +            elif [ $key != "UserKnownHostsFile" ]; then
> +                # Make sure that ~/foo will be copied as /root/foo in kdump's initramfs
> +                if str_starts "$val" "~/"; then
> +                    val="/root/${val#"~/"}"

This should be handled by inst_* automaticlly, really should not be
here.

> +                fi
> +                inst_simple "$val"
> +            fi

The if/else means we install either Global or User knownhostsfile.
Actually both of them can coexist, should install them all if exist.

> +         done < /etc/ssh/ssh_config
> +     fi
>  
>      return 0
>  }
> -- 
> 2.7.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe initramfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs
       [not found]       ` <CAOAn1LMB9i3Sz-1Npgw0cVm1i-n6U0pymathNftMVu89RNt6JA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2016-12-02  8:18         ` Dave Young
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Young @ 2016-12-02  8:18 UTC (permalink / raw)
  To: Tong Li; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA

On 12/02/16 at 12:56pm, Tong Li wrote:
> Hi,
> 
> On Fri, Dec 2, 2016 at 10:00 AM, Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> 
> > On 11/25/16 at 10:11am, Tong Li wrote:
> > > Bug related to this issue: https://bugzilla.redhat.com/
> > show_bug.cgi?id=1360131
> > > Now dracut only attempts to copy GlobalKnownHostsFile while generating
> > kdump's
> > > initramfs. This method will cause kdump's failure if users set customized
> > > UserKnownHostsFile in /etc/ssh/ssh_config. This patch simply attempts to
> > copy
> > > those files too while going through /etc/ssh/ssh_config. Note that we
> > need to
> > > make sure ~/foo will be copied as /root/foo in kdump's initramfs.
> > >
> > > Signed-off-by: Tong Li <tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> > > ---
> > >  modules.d/95ssh-client/module-setup.sh | 17 ++++++++++++-----
> > >  1 file changed, 12 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/modules.d/95ssh-client/module-setup.sh
> > b/modules.d/95ssh-client/module-setup.sh
> > > index 0a0e80c..bebcae5 100755
> > > --- a/modules.d/95ssh-client/module-setup.sh
> > > +++ b/modules.d/95ssh-client/module-setup.sh
> > > @@ -45,11 +45,18 @@ inst_sshenv()
> > >          inst_simple /etc/ssh/ssh_config
> > >          sed -i -e 's/\(^[[:space:]]*\)ProxyCommand/\1# ProxyCommand/'
> > ${initdir}/etc/ssh/ssh_config
> > >          while read key val || [ -n "$key" ]; do
> > > -            [[ $key != "GlobalKnownHostsFile" ]] && continue
> > > -            inst_simple "$val"
> > > -            break
> > > -        done < /etc/ssh/ssh_config
> > > -    fi
> > > +            if [ $key != "GlobalKnownHostsFile" ]; then
> > > +                inst_simple "$val"
> > > +            # Copy customized UserKnowHostsFile
> > > +            elif [ $key != "UserKnownHostsFile" ]; then
> > > +                # Make sure that ~/foo will be copied as /root/foo in
> > kdump's initramfs
> > > +                if str_starts "$val" "~/"; then
> > > +                    val="/root/${val#"~/"}"
> >
> > This should be handled by inst_* automaticlly, really should not be
> > here.
> 
> 
> > > +                fi
> > > +                inst_simple "$val"
> > > +            fi
> >
> > The if/else means we install either Global or User knownhostsfile.
> > Actually both of them can coexist, should install them all if exist.
> >
> 
> Both Global and User will be copied, just User may need a little tweak,
> which is replacing "~" with ${HOME}. I think inst_simple is designed to
> accept one or two absolute paths as arguments (didn't find comments in code
> to prove that, just according to my tests). So we should handle the "~"
> issue inside ssh-client module.
> 

dracut_install supports relative path, so maybe inst_simple should do it
as well. If so just add if !globalknownhost or !userknownhost; then
continue the loop, otherwise inst the file of "$val" will be enough. 

> 
> >
> > > +         done < /etc/ssh/ssh_config
> > > +     fi
> > >
> > >      return 0
> > >  }
> > > --
> > > 2.7.4
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe initramfs" in
> > > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> 
> 
> 
> -- 
> Regards,
> Tong

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-12-02  8:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-25  2:11 [PATCH] 95ssh-client: attempt to copy UserKnownHostsFile to kdump's initramfs Tong Li
     [not found] ` <1480039895-20001-1-git-send-email-tonli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-11-25  3:04   ` Dracut GitHub Import Bot
2016-11-29  8:40   ` Xunlei Pang
     [not found]     ` <CAOAn1LPhyJ+gG=mAkM3EDZ2FiARG6PxffzKCfDWJigx97Svu1Q@mail.gmail.com>
     [not found]       ` <CAOAn1LPhyJ+gG=mAkM3EDZ2FiARG6PxffzKCfDWJigx97Svu1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-29  9:02         ` Xunlei Pang
     [not found]     ` <583D3EF2.4050705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-02  1:56       ` Dave Young
2016-12-02  2:00   ` Dave Young
     [not found]     ` <CAOAn1LMB9i3Sz-1Npgw0cVm1i-n6U0pymathNftMVu89RNt6JA@mail.gmail.com>
     [not found]       ` <CAOAn1LMB9i3Sz-1Npgw0cVm1i-n6U0pymathNftMVu89RNt6JA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-12-02  8:18         ` Dave Young

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.