Score:3

How to ssh-copy-id through a jump-host? Something similar to the -J option with ssh command

jm flag

I use a jump host to connect to the remote servers through SSH.

I use the following linear command for the connection.

ssh -J jumpuser@jumphost:2455 remoteuser@remotehost

It works fine.

But for new servers I need to setup passwordless SSH, So I tried with the following command:

ssh-copy-id -J jumpuser@jumphost:2455 remoteuser@new-remotehost

But it throws the error:

/usr/bin/ssh-copy-id: ERROR: invalid option (-J)

It is clear that I can't use -J with the ssh-copy-id command, But I want to find out if there is an alternate way.

I know how to add the key to the remote server manually, but I want to save time and effort (Lazy ).

Score:4
in flag

Have you tried defining the jump connection in ~/.ssh/config and then attempting the ssh-copy-id?

I seem to recall doing something like that a few years ago to work around not being able to use the needed flags.

Alternatively judicious use of the -o flag might be helpful?

[Edit/Update]

-o worked as follows:

ssh-copy-id -o ProxyJump=jumpuser@jumphost:2455 remoteuser@remotehost
Ajaib Singh avatar
jm flag
Thank you @Stygge, option '-o' worked, I added the command to your answer. You can approve it.
in flag
You're welcome - I'm glad it helped ;)
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.