Does ssh need sendfd in pledge() call?

Damien Miller djm at
Fri Jun 28 13:06:15 AEST 2019

On Thu, 27 Jun 2019, Timothy Brown wrote:

> Hi,
> I posted this question to the OpenBSD bugs list last week, however
> I have had no reply and it was suggested on IRC that I post here
> instead. So I must apologise if this is not appropriate.

Hi - the OpenBSD tech@ mailing list would probably be a better fit for
discussions of OpenBSD-only problems (AFAIK nobody else has yet adopted
pledge(2) unfortunately).

That being said, I'm happy to look at it - but would ask you to send the
output of ssh in verbose mode (i.e. "ssh -vvv host") to see exactly where
the problem is happening.


> For a reference here is my previous post:
> I am running OpenBSD 6.5-stable (also tested on -current). When I
> ssh somewhere I get a sig abort from pledge().
> I use a Yubikey with GPG and use gpg-agent as my ssh-agent. I also
> remote forawrd this agent. For example my .ssh/config has the following
> (please note the RemoteForward is actually all on one line, I have split
> it here to keep it below 80 chars):
> Host www
>   Hostname
>   RemoteForward /home/tbrown/.gnupg/S.gpg-agent \
>                 /home/tbrown/.gnupg/S.gpg-agent.extra
>   ExitOnForwardFailure yes
> Host *
>   ForwardX11 no
>   Compression yes
>   ServerAliveInterval 30
>   ServerAliveCountMax 4
>   ControlMaster auto
>   ControlPath ~/.ssh/mux/%h_%p_%r
>   ControlPersist 4h
> If I ssh, for example:
> xps ~$ ssh www
> Abort trap (core dumped)
> xps ~$
> I have attached output for when I crank up there verbosity (ssh_verbose.txt),
> as it contains long lines.
> Dmesg contains:
> sh[28960]: pledge "sendfd", syscall 28
> If I `ktrace` ssh, I get the following:
>  28960 ssh      PLDG  sendmsg, "sendfd", errno 1 Operation not permitted
>  28960 ssh      PSIG  SIGABRT SIG_DFL
>  28960 ssh      NAMI  "ssh.core"
> If I add sendfd to the pledge() call, it works. Please see the attached
> patch (ssh.patch).  However I do not know if this is an acceptable
> solution.
> I guess I have to ask if I am doing something wrong? As in I thought I
> would not be the first to hit this error.
> Does anybody have any thoughts or ideas?
> Many thanks.
> Timothy

More information about the openssh-unix-dev mailing list