22 이외의 포트에서 ssh-copy-id를 실행할 수 있습니까?


99

비표준 포트에서 SSH가 실행되는 서버가 있습니다. 22 대신 8129에서 실행됩니다. 로그인하려면 다음을 사용하십시오.

ssh -p 8129 hostname

이제 암호가없는 로그인을위한 키를 설정해야 할 때마다 공개 키를 복사하여 인증 된 키에 수동으로 추가해야합니다. 명령 ssh-copy-id을 사용하여이 프로세스를 단순화 할 수 있지만 ssh 서버의 포트를 지정하는 옵션이없는 것 같습니다.

ssh-copy-id포트 8129를 사용하도록 지시하는 방법이 있습니까 , 아니면이 명령을 잊어 버리고 이전과 같이 수동으로 복사 / 붙여 넣기해야합니까?

답변:


112
$ ssh-copy-id "-p 8129 user@host"

출처 : http://it-ride.blogspot.com/2009/11/use-ssh-copy-id-on-different-port.html

참고 : 포트는 user @ host 앞에 있어야합니다. 그렇지 않으면 포트가 해결되지 않습니다


11
정말 어리 석고 ssh구문 ssh -p 1234 user@hostssh-copy-id "-p 1234 user@host"있으며 마지막으로 scp -P 1234 user@host입니다. 동일한 구문을 사용하는 것이 좋습니다.
Tombart

2
@Tombart 그리고 rsync가 rsync -e "ssh -p 1234" user@host있습니다. 나는 사용자 정의 포트를 사용하는 것보다 더 번거 로움을 맹세합니다.
garetmckinley

1
@Colt McCormack의 답변은 이것이 새로운 버전에서 개선 되었으며이 독특한 구문은 더 이상 필요하지 않다고 설명합니다.
meshy

1
참고로 전체 명령은 IP 두 번에 입력이 필요하며, 같은 보일 것입니다 :ssh-copy-id "root@192.168.0.100 -p 12345" -i ~/.ssh/id_rsa.pub 192.168.0.100
타락한

1
macOS (High Sierra에 있음)에서는 따옴표가 필요하지 않습니다. 즉. ssh-copy-id -p 8129 user@host공장.
Arjun Mehta

46

ssh-copy-id기본 ssh명령으로 전달 될 수있는 인수를 취하지 않지만에서 별칭을 구성 할 수 있습니다 ~/.ssh/config.

Host myhost
HostName hostname
Port 8129

그런 다음를 실행하십시오 ssh-copy-id myhost.


3
또한 -p정기적으로 ssh시도 할 때 플래그 가 필요하지 않다는 이점이 있습니다 . 그러므로 그것은이 질문에 대한 정답 일뿐만 아니라 올바른 것입니다.
워렌 영

고마워 호스트의 기본 호스트 이름에 만족하는 경우 두 번째 행 "HostName hostname"이 필요하지 않습니다.
Lonniebiz


11

소스를 훑어 보면 ssh-copy-id이를 허용하는 기능이없는 것 같습니다. 그러나 대신 다음과 같은 작업을 수행 할 수 있습니다.

ssh -p8129 user@host 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_*.pub

6

이것은 작동합니다 ( 여기에서 ).

ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 221 username@host'

5

나는 항상 scp그것을 복사하는 데 사용 했습니다.

scp -P 8129 ~/.ssh/id_*.pub user@host:
ssh -p 8129 user@host 'cat id_*.pub >> ~/.ssh/authorized_keys'

내가 말해야하지만, 나중에 다른 방법을 기억한다면 아마도 다른 (한 줄 / 연결) 방법을 사용하고있을 것입니다. 그러나 이것은 당신을위한 또 다른 옵션입니다.


2

CentOS7에서는 다음과 같습니다.

 ssh-copy-id "-p 1234" user@host

인용 부호 안에 user @ host를 넣지 않도록주의하십시오. 그렇지 않으면이 배포판에 다음과 같은 오류가 발생합니다.

/usr/bin/ssh-copy-id: ERROR: Bad port ' 1234 user@host'

0

내 macOS에서는 이것이 효과가있었습니다.

ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port> user@host

0

이 명령을 사용합니다.

ssh-copy-id ssh://user@ip_addr:port

예:

ssh-copy-id ssh://root@1.2.3.4:23

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.