ssh -p 8129 hostname
现在,每当我需要设置用于无密码登录的密钥时,我必须复制公钥并将其手动添加到authorized_keys。我发现可以使用命令
ssh-copy-id
简化此过程,但似乎没有指定ssh服务器端口的选项。是否有某种方法可以告诉
ssh-copy-id
使用端口8129,还是我应该忘记此命令并像以前一样手动复制/粘贴?#1 楼
$ ssh-copy-id "-p 8129 user@host"
源:http://it-ride.blogspot.com/2009/11/use-ssh-copy-id-on-different-port.html
注意:端口必须在前面user @ host的名称或它无法解决
编者注:如注释中指出和其他答案所示,较新版本的OpenSSH随附的
ssh-copy-id
支持-p <port_number>
语法(无需引号) 。#2 楼
ssh-copy-id
不接受任何可能传递给基础ssh
命令的参数,但是您可以在~/.ssh/config
中配置别名。Host myhost
HostName hostname
Port 8129
然后运行
ssh-copy-id myhost
。评论
这还具有消除常规ssh尝试中对-p标志的需要的好处。因此,这不仅是对这个问题的正确答案,而且是正确的时期。
–沃伦·杨(Warren Young)
2012年1月20日14:00
谢谢你如果您对主机的自然主机名感到满意,则不需要第二行“ HostName hostname”。
–Lonniebiz
16年8月9日在15:53
#3 楼
从openssh-client_6.2开始,该命令现在有了专用的端口标志,允许使用以下语法:ssh-copy-id -p 8129 user@example
它还增加了对添加其他ssh选项的支持。 -o标志。这里是Ubuntu的相应版本的手册页,在13.04中进行了介绍:http://manpages.ubuntu.com/manpages/saucy/man1/ssh-copy-id.1。 html
评论
这是唯一适用的方法。
–卢卡·斯蒂布(Luca Steeb)
16年8月23日在22:13
#4 楼
快速查看源表明ssh-copy-id
似乎没有允许该功能的功能。但是,您可以改为执行以下操作:ssh -p8129 user@host 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_*.pub
#5 楼
这有效(从此处开始):ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 221 username@host'
#6 楼
我一直使用scp
进行复制:scp -P 8129 ~/.ssh/id_*.pub user@host:
ssh -p 8129 user@host 'cat id_*.pub >> ~/.ssh/authorized_keys'
尽管我必须说,如果我可能会使用其他(单行/连接)方法以后记得他们。但这是您的另一选择。
#7 楼
在CentOS7上仅是: ssh-copy-id "-p 1234" user@host
请注意不要将user @ host放在引号内,否则在此发行版中将出现以下错误:
/usr/bin/ssh-copy-id: ERROR: Bad port ' 1234 user@host'
#8 楼
在我的macOS上,此方法有效。ssh-copy-id -i ~/.ssh/id_rsa.pub -p <port> user@host
#9 楼
我使用以下命令:ssh-copy-id ssh://user@ip_addr:port
示例:
ssh-copy-id ssh://root@1.2.3.4:23
评论
ssh具有语法ssh -p 1234 user @ host,ssh-copy-id“ -p 1234 user @ host”,最后是scp -P 1234 user @ host,这确实很愚蠢。拥有相同的语法真是太好了。
–唐巴
15年2月4日在12:58
@Tombart,然后rsync具有rsync -e“ ssh -p 1234” user @ host。我发誓,使用自定义端口比它值得的麻烦。
–garetmckinley
2015年9月25日4:10在
@Colt McCormack的答案说明此问题在新版本中得到了改进,并且不再需要这种特殊的语法。
–麻烦
16年1月8日在11:46
仅供参考,完整命令需要输入两次IP,并且应该类似于:ssh-copy-id“ root@192.168.0.100 -p 12345” -i〜/ .ssh / id_rsa.pub 192.168.0.100
–退化
17年2月2日在2:40
在macOS(我在High Sierra上)上,不需要引号。即。 ssh-copy-id -p 8129 user @ host有效。
– Arjun Mehta
18年5月21日在15:57