封尘网

让学习成为一种习惯!

ssh-copy-id遇到默认端口修改过的情况

服务器之间经常免密钥认证,所以使用下例中ssky-keygenssh-copy-id 仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。

ssh-keygen 创建公钥和密钥。
ssh-copy-id 把本地主机的公钥(id_rsa.pub)复制到远程主机的~/.ssh/目录下,你查看时会发现文件名也变成了authorized_keys ,权限有有了。

但是默认ssh-copy-id是使用22端口的,直接使用命令复制时会出错,提示如下:

ssh: Could not resolve hostname .ssh/id_rsa.pub: Name or service not known

原因是默认的22端口已经修改为其它的端口了。
1、解决方法:

[swper@server ~]$ vi ~/.ssh/config
Port 52308

2、不需要添加修改文件:

[swper@server ~]$ ssh-copy-id -i .ssh/id_rsa.pub "-p 52308 swper@10.0.10.7"

登陆时就不会再有提示密码了:

[swper@server ~]$ ssh -p52308 10.0.10.7
Last login: Wed Nov 25 22:56:01 2015 from 10.0.10.1
[swper@zabbix-server ~]$

提醒:本文最后更新于 1417 天前,文中所描述的信息可能已发生改变,请谨慎使用。