为了便于登录实现SSH登录与SCP拷贝,不需要每次都输入密码,可以使用ssh-keygen和ssh-copy-id来实现。其中,ssh-keygen 产生公钥与私钥对;ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的/home/username/.ssh和~/.ssh/authorized_keys的权利。
1)第一步:在本地机器上使用ssh-keygen产生公钥私钥对(一直默认回车):
#ssh-keygen -t rsa
这样就会在当前用户主目下的.ssh目录里产生公钥和私钥文件:id_rsa.pub、id_rsa。将id_rsa.pub公钥文件复制成文件名为authorized_keys的文件。
2)第二步:可以手动将本机的id_rsa.pub公钥文件内容复制到远程目标机的.ssh/authorized_keys文件中,可以就可以实现ssh无密码登陆。当然,也可以在本机直接使用ssh-copy-id将公钥复制到远程机器中:
#ssh-copy-id -i /root/.ssh/id_rsa.pub user@ip [把本机的公钥拷贝到远程机器上]
也可以不加公钥路径,拷贝时会默认加上:
#ssh-copy-id user@ip
值得注意的是: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件(文件会自动创建)中。对于非22端口(比如22222)情况下的ssh-copy-id的使用,需要这样用:ssh-copy-id -i /root/.ssh/id_rsa.pub '-p 22222 root@192.168.18.18'
3)这样,本机登录到上面远程机器(ip为10.184.16.132)就不用输入密码:
#ssh 10.184.16.132