Linux环境下,经常需要通过SSH从一台服务器登录到另一台服务器,并且登录身份不是root账号,每次都要输入密码挺麻烦的,所以今天就来实战如何配置非root账号的免密码登录。
一、ssh配置免密登录
通过ssh连接Linux服务器可以使用账号密码登录,也可以设置免密登录。
1.1. 在本地生成公钥私钥
执行命令ssh-keygen -t rsa
,执行后会提示输入文件保存路径,直接回车即可,文件默认在当前用户的.ssh文件夹下。
ssh-keygen默认使用rsa算法,可以通过-t参数指定其他算法。
切换到路径cd ~/.ssh
,使用ls命令,会看到生成的两个文件id_rsa和id_rsa.pub
1.2. 将公钥上传到目标服务器
执行命令ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.157.110
,执行后按照提示输入服务器root用户密码。
-i参数是指定公钥文件的路径,如果公钥文件在当前用户的.ssh文件夹下,也可以不使用该参数。
1.3. 测试免密登录
执行命令ssh root@192.168.157.110
,如果不用输入密码就表示免密配置成功
1.4. 删除免密
上传公钥后,目标服务器对应用户下的.ssh/authorized_keys文件会添加一行内容,也就是本地生成的公钥。因此编辑该文件,将对应的公钥内容删掉,就禁用了免密。
THE END
喜欢就支持一下吧