ssh 配置免密登录

Posted 浅弋、璃鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh 配置免密登录相关的知识,希望对你有一定的参考价值。

一、目的:

每次登陆ssh都需要手动输一遍用户名密码, 太麻烦了!!

二、步骤:

1. 客户端:

  • 生成ssh秘钥:
ssh-keygen -t rsa

ps: 回车即可, 使用默认配置

  • 创建config文件
cd ~/.ssh
touch config
ls

此时该目录下至少存在:

config: 文件, 用来配置ssh
id_rsa: 私钥
id_rsa.pub: 公钥
known_hosts: 登陆过的主机记录

ps:公私钥原理(对称加密)自行百度

  • 编辑config文件:
    格式如下:
Host: 别名
    HostName: IP
    Port: 端口
    User: 用户名
    IdentityFile: 自己ID私钥

示例:

Host nas
    HostName 192.168.1.109
    User chengfei
    Port 22
    IdentityFile ~/.ssh/id_rsa

2. 配置服务器:

  • 添加认证文件:
cd ~/.ssh 

把客户端的公钥(id_rsa.pub)加入到authorized_keys文件中, 没有这个文件的话需要自己创建;

3. 测试:

在客户端使用 ssh 别名就可以快速登陆了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-05wgipON-1622561872485)(/images/sshConfig/01_sshTest.png)]

4. 小技巧:

  • 客户端配置IdentityFile的私钥是可配置, 不一定要使用本机的私钥; 而且不懂主机可以使用不同的私钥, 虽然这样的方法并不推荐;
  • 参考: https://linuxize.com/post/using-the-ssh-config-file/
  • 参考: https://www.ssh.com/ssh/config/

以上是关于ssh 配置免密登录的主要内容,如果未能解决你的问题,请参考以下文章

ssh免密登录ssh配置默认端口和指定端口免密登录

Linux——配置服务器间的免密登录

SSH免密登录配置

linux配置了免密,如何不使用免密登录

Archlinux配置免密Samba

ssh localhost 配置免密登陆仍需要密码的解决方法