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

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

ssh-keygen 创建公钥和密钥。 
ssh-copy-id 把本地主机的公钥(id_rsa.pub)复制到远程主机的~/.ssh/目录下,你查看时会发现文件名也变成了authorized_keys ,权限有有了。
 
但是默认ssh-copy-id是使用22端口的,直接使用命令复制时会出错,提示如下:
 
  1. ssh: Could not resolve hostname .ssh/id_rsa.pub: Name or service not known 
 
原因是默认的22端口已经修改为其它的端口了。
1、解决方法:
 
  1. [swper@server ~]$ vi ~/.ssh/config 
  2. Port 52308 
2、不需要添加修改文件:
 
  1. [swper@server ~]$ ssh-copy-id -i .ssh/id_rsa.pub "-p 52308 swper@10.0.10.7" 
 
登陆时就不会再有提示密码了:
 
  1. [swper@server ~]$ ssh -p52308 10.0.10.7 
  2. Last login: Wed Nov 25 22:56:01 2015 from 10.0.10.1 
  3. [swper@zabbix-server ~]$