ssh_key登录服务器,免密码登录

最近使用ssh远程登录服务器每次都要输入密码实在是太麻烦了,我这个懒人就想到了查了一下怎么用ssh-key来实现我的梦想。

使用密钥来登录

原理如下:

客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。

$ ssh-keygen -t rsa -C "name" # name 是这个密钥的名称 也可以不用

这步会在会在 ~.ssh 下生成 id_rsa, id_rsa.pub 两个文件,分别是 私钥/公钥。
之后我们需要把公钥放到服务器的~/.ssh/authorized_keys中,私钥在本地客户端保存。
要保证 .sshauthorized_keys 都只有用户自己有写权限。否则验证无效。

$ chmod -R 700 ~/.ssh/   # 客户端
$ chmod 600 ~/.ssh/authorized_keys  #服务端

ssh_config配置

ssh client的参数来源

SSH Client的参数值来源主要有3个,分别是“命令行配置”,~/.ssh/config/etc/ssh/ssh_config。 优先级从高到低。

Host baiduyun # 代称
    HostName   # 域名地址
    Port             # 端口
    IdentityFile  # 密钥位置
    User            # 登录用户

好了配置完成。
ssh baiduyun 即可登录相应服务器

原文地址:https://www.cnblogs.com/Stay-J/p/9668563.html