目录
原理
实现步骤安全
1、生成公钥和私钥
2、在客户端编辑配置文件
3、将公钥拷贝到服务器
4、重启ssh服务
5、关闭再打开cmd进行登陆
每次登陆服务器都要输入密码很麻烦,因此进行免密登陆配置以后就能够跳过输入密码的步骤,直接登陆服务器.bash
原理
ssh提供了安全的身份认证的策略,在免密登陆以前,首先须要一对公钥和私钥.服务器
客户端拿着私钥,服务端拿着公钥,属于非对称加密.
私钥客户端本身拿着不在网络上传输,公钥能够网络传输存在服务器上,登陆的时候拿私钥进行加密,内容发送给服务器,服务器对公钥进行解密,成功解密就告诉客户端创建连接.网络
实现步骤
1、生成公钥和私钥
在用户/.ssh目录,打开cmd,输入ssh-keygen,以后输入文件名称,一路回车就生成了私钥和公钥ssh
2、在客户端编辑配置文件
在用户/.ssh目录,打开config文件,若是没有本身新建一个加密
# 未来能够 ssh aaaa 进行链接,这里能够写IP也能够写域名
Host www.aaa.com
# 能够是域名也能够是IP
HostName 59.110.XX.XXX
# 登陆时的用户名
User root
PreferredAuthentications publickey
# 本地文件
IdentityFile C:\Users\burning\.ssh\burning
重要的提示!!!
IdentityFile C:\Users\burning\.ssh\burning
用户名的路径上必定不能有
中文,若是有就没法实现免密登陆.若是你的用户名是中文,要么须要修改为英文,要么就将秘钥放置到别的文件路径中
3、将公钥拷贝到服务器
先密码登陆一次服务器,在服务器目录下执行下面的命令
> pwd 查看当前所在目录
# /root
> cd .ssh
> ls
# authorized_keys 受权者文件,要把公钥放到这里来
> cat authorized_keys # 打印文本文件中的内容,如今是空
去 用户/.ssh 目录下使用cmd命令将公钥进行拷贝,scp命令后面不能加中文spa
# 注意下面的root后面跟的IP或者是域名,必须和config中的Host一致
> scp burning.pub root@www.aaa.com:/root/.ssh
# 目录下有了公钥的文件,内容追加到authorized_keys中
> cat >> authorized_keys < burning.pub
> cat authorized_keys
# 查看内容能够看到公钥已经存进去了
4、重启ssh服务
拷贝完成以后,要重启ssh服务rest
systemctl restart sshd
5、关闭再打开cmd进行登陆
这个时候打开cmd进行登陆ssh root@www.aaa.com,能够看到不须要密码,直接登陆成功code