本地主机通过ssh-keygen -t rsa -P ''生成公私钥对
其中-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
-t表示密钥的加密类型,可以选择的加密类型有:dsa, ecdsa, ed25519, rsa, rsa1
指令会在/home/$(user_name)目录下生成.ssh/目录,并在.ssh目录下生成id_rsa和id_rsa.pub两份公钥和私钥文件
执行 ssh-copy-id,将生成的公钥文件上传至远程主机
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
其中 ssh-copy-id的说明如下:
ssh-copy-id [-f] [-n] [-i [公钥文件路径]] [-p 端口号] [-o ssh 选项] [[email protected]]hostname
此操作会将本地主机的公钥的内容添加到远程主机指定用户home 路径下的.ssh/authorized_keys文件中
接下来在通过 ssh 登录远程主机试试,是不是不需要密码了?当然使用到 ssh 服务的所有操作(ssh, scp, rsync...)都将不需要输入密码了!