ssh-copy-id使用及非默认22端口时报错
ssh-copy-id使用介绍
- 说明:ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下。
- 功能:ssh-copy-id 命令将你的公共密钥填充到一个远程机器上的authorized_keys文件中。如果远程机器上存在authorizedkeys文件,且authorizedkeys有内容,则ssh-copy-id 可以将待传公钥追加到authorizedkeys文件里。
- 语法:ssh-copy-id [-i [identity_file]] [user@]machine
- -i 指定认证文件路径(默认是~/.ssh/id_rsa.pub)
- 描述:ssh-copy-id 是一个实用ssh去登陆到远程服务器的脚本。它也能够改变远程用户名的权限,如~/.ssh和~/.ssh/authorized_keys 删除其写的权限,所以一般~/.ssh给予700,~/.ssh/authorized_keys 给予600权限。
如果机器更改了默认ssh端口后使用ssh-copy-id会出现
ssh: connect to host 172.16.203.95 port 22: Connection refused
解决方法:
方法一:
[root@localhost .ssh]# ssh-copy-id -i ./id_rsa.pub "-p 58422 root@192.168.1.10"
方法二:
修改全局配置文件:
[root@localhost .ssh]# vim /etc/ssh/sshd_config Port 58422
方法三:
[root@localhost .ssh]# vim ~/.ssh/config 加上内容: Host server Hostname ip Port 58422
如果执行报错
Bad owner or permissions on /root/.ssh/config
则需要修改权限以符合安全策略
[root@localhost .ssh]# cd .ssh [root@localhost .ssh]# chmod 700 .
最后,为了使用方便,推荐使用方法一!