ssh登录Linux通常有两种方法:用户名密码登录、用户名公钥登录;使用用户名密码登录每次都要输入密码,相当麻烦,而使用用户名公钥登录则可以避免这个问题。
创建公钥私钥文件
打开本地终端,执行 ssh-keygen 命令创建密钥对:
ssh-keygen -t rsa -C 'email#domain.com'
-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略
生成过程中会提示输入密码两次,如果不想在使用公钥的时候输入密码,可以回车跳过;
密钥默认保存位置在 ~/.ssh 目录下,打开后会看到私钥文件 id_rsa 和公钥文件 id_rsa.pub;
复制公钥至服务器
使用 scp 命令将本地的公钥文件 id_rsa.pub 复制到需要连接的Linux服务器:
scp ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
如果修改了ssh默认连接端口的话,需要加上端口信息:
scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
把公钥追加到服务器ssh认证文件中:
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
总结:
简单来说就是把本地ssh-keygen生成的id_rea.pub公钥添加到服务器~/.ssh/authorized_keys文件里面