欧阳简之 > Linux通过密钥远程登录其他Linux服务器

热爱代码,对每一行代码保持一颗敬畏之心。

本地主机通过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 root@172.23.8.100

其中 ssh-copy-id的说明如下:

ssh-copy-id [-f] [-n] [-i [公钥文件路径]] [-p 端口号] [-o ssh 选项] [user@]hostname
此操作会将本地主机的公钥的内容添加到远程主机指定用户home 路径下的.ssh/authorized_keys文件中

接下来在通过 ssh 登录远程主机试试,是不是不需要密码了?当然使用到 ssh 服务的所有操作(ssh, scp, rsync...)都将不需要输入密码了!

tagged by linux