使用ssh-key连接服务端
2018-09-18 本文已影响0人
Hollow_Knight
最近使用ssh远程登录服务器每次都要输入密码实在是太麻烦了,我这个懒人就想到了查了一下怎么用ssh-key来实现我的梦想。
使用密钥来登录
原理如下:
客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。
$ ssh-keygen -t rsa -C "name" # name 是这个密钥的名称 也可以不用
这步会在会在 ~.ssh
下生成id_rsa
, id_rsa.pub
两个文件,分别是 私钥/公钥。
之后我们需要把公钥放到服务器的~/.ssh/authorized_keys
中,私钥在本地客户端保存。
要保证 .ssh
和 authorized_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
即可登录相应服务器