第一步,生成公钥
先查看本地有没有生成密钥,如果有的话,再次生成会影响前面已经设置好的,用下面这条命令就可以
cat ~/.ssh/id_rsa.pub
如果没有的话,输入下面的命令来在本机上生成公钥和私钥
ssh-keygen -t rsa
第二步,把公钥复制到远程主机上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@你的IP地址
RHEL6中ssh-copy-id出现Ambiguous output redirect.错误
问题现象参见:
https://bugzilla.redhat.com/show_bug.cgi?id=1045191
主要原因是另一台主机的SHELL不是sh或者bash造成的
解决方法:
修改/usr/bin/ssh-copy-id,大约41行:
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/.ssh/authorized_keys >/dev/null 2>&1 || true)" || exit 1
改成
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1