Ssh-copy-id'sini 22'den başka bir portta çalıştırmak mümkün müdür?


99

Standart olmayan bir bağlantı noktasında çalışan SSH'li bir sunucum var. 22 yerine, 8129'da çalışır. Giriş yapmak için kullanıyorum:

ssh -p 8129 hostname

Şimdi, şifresiz giriş için bir anahtar ayarlamam gerektiğinde, genel anahtarı kopyalayıp manuel olarak manuel olarak eklemeliyim. Komutun ssh-copy-idbu işlemi basitleştirmek için kullanılabileceğini keşfettim , ancak ssh sunucusunun portunu belirleme seçeneği bulunmuyor gibi görünüyor.

ssh-copy-idBağlantı noktası 8129'u kullanmanın bir yolu var mı , yoksa bu komutu unutmalı mıyım ve önceden olduğu gibi el ile kopyalayıp yapıştırmalı mıyım?

Yanıtlar:


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

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

NOT: Bağlantı noktasının user @ host önünde olması gerekir veya çözülmez


11
O, gerçekten aptalca sshsözdizimi vardır ssh -p 1234 user@host, ssh-copy-id "-p 1234 user@host"ve nihayet scp -P 1234 user@host. Aynı sözdizimine sahip olmak çok güzel olurdu.
Tombart

2
@Tombart ve ardından rsync var rsync -e "ssh -p 1234" user@host. Yemin ederim, özel bir liman kullanmaya değdiğinden daha fazla güçlük çekiyor.
garetmckinley 25:15

1
@Colt McCormack'ın cevabı bunun yeni sürümlerde geliştirildiğini ve bu tuhaf sözdiziminin artık gerekli olmadığını açıklıyor.
meshy

1
FYI, tam komut IP'nin iki kez yazılmasını gerektirir ve şöyle bir şeye ssh-copy-id "root@192.168.0.100 -p 12345" -i ~/.ssh/id_rsa.pub 192.168.0.100
dejenere

1
MacOS'ta (Ben Yüksek Sierra'dayım) alıntılar gerekli değildir. yani. ssh-copy-id -p 8129 user@hostEserleri.
Arjun Mehta

46

ssh-copy-idaltta yatan sshkomuta geçebileceği herhangi bir argüman almaz , ancak içinde bir takma ad yapılandırabilirsiniz ~/.ssh/config.

Host myhost
HostName hostname
Port 8129

O zaman koş ssh-copy-id myhost.


3
Bu aynı zamanda -pbayrağa olan ihtiyacı düzenli sshgirişimlerde bulunma avantajına da sahiptir . Bu nedenle, bu sorunun sadece doğru cevabı değil, Doğru Şey, dönemidir.
Warren Young,

Bunun için teşekkürler. Ana bilgisayarın doğal ana bilgisayar adından memnunsanız, 2. satır olan "Ana Bilgisayar Adı ana bilgisayar adı" gerekli değildir.
Lonniebiz


11

Kaynağa hızlı bir bakış, buna ssh-copy-idizin veren bir işlevi olmadığını gösterir. Ancak, bunun yerine aşağıdaki gibi bir şey yapabilirsiniz:

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

6

Bu çalışır ( buradan ):

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

5

Her zaman scpkopyalamak için kullandım :

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

Söylemeliyim ki, gelecekte bunları hatırlarsam muhtemelen diğer (tek satır / bağlantı) yöntemlerini kullanacağım. Ama bu sizin için başka bir seçenek.


2

CentOS7'de sadece:

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

Lütfen user @ host'i tırnak işaretleri içine sokmamaya dikkat edin, yoksa bu dağıtımda aşağıdaki hatayı alırsınız:

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

0

MacOS'umla bu işe yaradı.

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

0

Bu komutu kullanıyorum:

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

Örnek:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.