Forward abstract unix socket over SSH?
Clash Royale CLAN TAG#URR8PPP
I've discovered that OpenSSH is capable of forwarding UNIX sockets like this:
ssh -R /var/run/program.sock:/var/run/program.sock
My question is whether this extends to abstract unix sockets too.
I've tried the following to no avail:
ssh -nNT -R @laminar:@laminar
ssh -nNT -R unix-abstract:laminar:unix-abstract:laminar
The program in question does support file-based unix sockets, but as it uses abstract sockets by default I'd like to avoid reconfiguring it to simplify matters if possible.
- OpenSSH (client) version:
OpenSSH_7.4p1 Raspbian-10+deb9u4, OpenSSL 1.0.2q 20 Nov 2018
- OpenSSH (server) version:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n 7 Dec 2017
ssh openssh port-forwarding unix-sockets
add a comment |
I've discovered that OpenSSH is capable of forwarding UNIX sockets like this:
ssh -R /var/run/program.sock:/var/run/program.sock
My question is whether this extends to abstract unix sockets too.
I've tried the following to no avail:
ssh -nNT -R @laminar:@laminar
ssh -nNT -R unix-abstract:laminar:unix-abstract:laminar
The program in question does support file-based unix sockets, but as it uses abstract sockets by default I'd like to avoid reconfiguring it to simplify matters if possible.
- OpenSSH (client) version:
OpenSSH_7.4p1 Raspbian-10+deb9u4, OpenSSL 1.0.2q 20 Nov 2018
- OpenSSH (server) version:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n 7 Dec 2017
ssh openssh port-forwarding unix-sockets
1
socat
supports abstract sockets. Perhaps you could use it as an intermediate.
– meuh
Feb 5 at 14:43
1
Not directly, but withsocat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)
– Patrick Mevzek
Feb 5 at 14:48
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keepsocat
in mind for the future :-)
– starbeamrainbowlabs
Feb 5 at 17:10
@PatrickMevzek ifsocat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK
– Uncle Billy
Feb 5 at 18:23
add a comment |
I've discovered that OpenSSH is capable of forwarding UNIX sockets like this:
ssh -R /var/run/program.sock:/var/run/program.sock
My question is whether this extends to abstract unix sockets too.
I've tried the following to no avail:
ssh -nNT -R @laminar:@laminar
ssh -nNT -R unix-abstract:laminar:unix-abstract:laminar
The program in question does support file-based unix sockets, but as it uses abstract sockets by default I'd like to avoid reconfiguring it to simplify matters if possible.
- OpenSSH (client) version:
OpenSSH_7.4p1 Raspbian-10+deb9u4, OpenSSL 1.0.2q 20 Nov 2018
- OpenSSH (server) version:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n 7 Dec 2017
ssh openssh port-forwarding unix-sockets
I've discovered that OpenSSH is capable of forwarding UNIX sockets like this:
ssh -R /var/run/program.sock:/var/run/program.sock
My question is whether this extends to abstract unix sockets too.
I've tried the following to no avail:
ssh -nNT -R @laminar:@laminar
ssh -nNT -R unix-abstract:laminar:unix-abstract:laminar
The program in question does support file-based unix sockets, but as it uses abstract sockets by default I'd like to avoid reconfiguring it to simplify matters if possible.
- OpenSSH (client) version:
OpenSSH_7.4p1 Raspbian-10+deb9u4, OpenSSL 1.0.2q 20 Nov 2018
- OpenSSH (server) version:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1, OpenSSL 1.0.2n 7 Dec 2017
ssh openssh port-forwarding unix-sockets
ssh openssh port-forwarding unix-sockets
edited Feb 4 at 23:02
starbeamrainbowlabs
asked Feb 4 at 21:11
starbeamrainbowlabsstarbeamrainbowlabs
1489
1489
1
socat
supports abstract sockets. Perhaps you could use it as an intermediate.
– meuh
Feb 5 at 14:43
1
Not directly, but withsocat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)
– Patrick Mevzek
Feb 5 at 14:48
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keepsocat
in mind for the future :-)
– starbeamrainbowlabs
Feb 5 at 17:10
@PatrickMevzek ifsocat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK
– Uncle Billy
Feb 5 at 18:23
add a comment |
1
socat
supports abstract sockets. Perhaps you could use it as an intermediate.
– meuh
Feb 5 at 14:43
1
Not directly, but withsocat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)
– Patrick Mevzek
Feb 5 at 14:48
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keepsocat
in mind for the future :-)
– starbeamrainbowlabs
Feb 5 at 17:10
@PatrickMevzek ifsocat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK
– Uncle Billy
Feb 5 at 18:23
1
1
socat
supports abstract sockets. Perhaps you could use it as an intermediate.– meuh
Feb 5 at 14:43
socat
supports abstract sockets. Perhaps you could use it as an intermediate.– meuh
Feb 5 at 14:43
1
1
Not directly, but with
socat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)– Patrick Mevzek
Feb 5 at 14:48
Not directly, but with
socat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)– Patrick Mevzek
Feb 5 at 14:48
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keep
socat
in mind for the future :-)– starbeamrainbowlabs
Feb 5 at 17:10
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keep
socat
in mind for the future :-)– starbeamrainbowlabs
Feb 5 at 17:10
@PatrickMevzek if
socat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK– Uncle Billy
Feb 5 at 18:23
@PatrickMevzek if
socat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK– Uncle Billy
Feb 5 at 18:23
add a comment |
1 Answer
1
active
oldest
votes
No, that's not possible with the standard openssh-portable.
You can look for instance at the unix_listener()
function here.
Maybe there are patches floating around, but I'm not going to answer with google search results ;-)
Adding such a thing should be technically easy, but who's going to deal with the "political" part, ie. convince the openssh developers to include the patch?
FWIW, such a patch should necessarily check the peer credentials of the clients connecting to the socket by default; openssh already includes the necessary compat code for that.
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f498675%2fforward-abstract-unix-socket-over-ssh%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
No, that's not possible with the standard openssh-portable.
You can look for instance at the unix_listener()
function here.
Maybe there are patches floating around, but I'm not going to answer with google search results ;-)
Adding such a thing should be technically easy, but who's going to deal with the "political" part, ie. convince the openssh developers to include the patch?
FWIW, such a patch should necessarily check the peer credentials of the clients connecting to the socket by default; openssh already includes the necessary compat code for that.
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
add a comment |
No, that's not possible with the standard openssh-portable.
You can look for instance at the unix_listener()
function here.
Maybe there are patches floating around, but I'm not going to answer with google search results ;-)
Adding such a thing should be technically easy, but who's going to deal with the "political" part, ie. convince the openssh developers to include the patch?
FWIW, such a patch should necessarily check the peer credentials of the clients connecting to the socket by default; openssh already includes the necessary compat code for that.
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
add a comment |
No, that's not possible with the standard openssh-portable.
You can look for instance at the unix_listener()
function here.
Maybe there are patches floating around, but I'm not going to answer with google search results ;-)
Adding such a thing should be technically easy, but who's going to deal with the "political" part, ie. convince the openssh developers to include the patch?
FWIW, such a patch should necessarily check the peer credentials of the clients connecting to the socket by default; openssh already includes the necessary compat code for that.
No, that's not possible with the standard openssh-portable.
You can look for instance at the unix_listener()
function here.
Maybe there are patches floating around, but I'm not going to answer with google search results ;-)
Adding such a thing should be technically easy, but who's going to deal with the "political" part, ie. convince the openssh developers to include the patch?
FWIW, such a patch should necessarily check the peer credentials of the clients connecting to the socket by default; openssh already includes the necessary compat code for that.
edited Feb 5 at 3:25
answered Feb 5 at 2:40
mosvymosvy
7,7321530
7,7321530
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
add a comment |
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
Thanks for the answer! I suspected as much. I'll look at refactoring to use a file-based unix socket instead then. I don't think I've got the skills to add support myself (let alone convince some developers I've never met to include my patch!), so perhaps someone take up the task eventually.
– starbeamrainbowlabs
Feb 5 at 17:09
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f498675%2fforward-abstract-unix-socket-over-ssh%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
socat
supports abstract sockets. Perhaps you could use it as an intermediate.– meuh
Feb 5 at 14:43
1
Not directly, but with
socat
you can. You can find same question here: stackoverflow.com/questions/49016346/… (and they are not "abstract" unix sockets, just unix sockets like you have UDP or TCP ones...)– Patrick Mevzek
Feb 5 at 14:48
Good ideas, @meuh / @Patrick Mevzek! I think it's easier to reconfigure said program in this instance to use a file-based socket instead, but I'll keep
socat
in mind for the future :-)– starbeamrainbowlabs
Feb 5 at 17:10
@PatrickMevzek if
socat
wasn't ASSuming that abstract unix socket addresses cannot contain NULs -- that would be great. YUCK– Uncle Billy
Feb 5 at 18:23