sftp: Allow password entry

This was a bit tricky: We start the ssh binary, but we want it to ignore
SIGINT. In contrast, restic itself should process SIGINT and clean up
properly. Before, we used `setsid()` to give the ssh process its own
process group, but that means it cannot prompt the user for a password
because the tty is gone.

So, now we're passing in two functions that ignore SIGINT just before
the ssh process is started and re-install it after start.
This commit is contained in:
Alexander Neumann 2017-09-23 11:21:27 +02:00
parent 45a09c76ff
commit fb9729fdb9
6 changed files with 24 additions and 41 deletions

View file

@ -46,7 +46,7 @@ func TestLayout(t *testing.T) {
Command: fmt.Sprintf("%q -e", sftpServer),
Path: repo,
Layout: test.layout,
})
}, nil, nil)
if err != nil {
t.Fatal(err)
}