首页 技术 正文
技术 2022年11月15日
0 收藏 921 点赞 4,505 浏览 1572 个字

ssh服务登陆验证有两种方式:

  1.基于用户名和密码

  2.基于密钥

基于用户名和密码验证过程:

  1)客户端想ssh服务器发起请求,服务器会把自己的公钥发送给客户端,

  2)客户端用服务器的公钥加密自己的密码,并发送给服务器

  3)服务器用自己的私钥解密得到客户端的密码并验证,如果密码正确则登陆成功.

基于秘钥验证过程:

  1)客户端生成一对秘钥

  2)客户端把自己的公钥传送给服务器

  3)客户端发送一个连接请求,信息包括ip和用户名

  4)服务器去authorized_keys文件中查找相应记录,如果有,就生成一个随机字符串

  5)服务器使用客户端的公钥把随机字符串加密后发送给客户端

  6)客户端使用私钥解密,再把得到的字符串发给服务器

  7)服务器对比此字符串是否与自己生成的字符串一致,如果一致就允许登陆

基于秘钥认证示例:

两台主机之间:

  1)客户端生成一对秘钥

  命令格式

  ssh-keygen -t rsa [-P ”] [-f “~/.ssh/id_rsa”]

    -p 口令,可为空

    -f 指定秘钥存放路径

  也可以所有参数省略直接执行ssh-keygen

  ]# ssh-keygen

SSH服务登陆验证

  执行后三次回车.会生成未加密的私钥/root/.ssh/id_rsa和公钥/root/.ssh/id_rsa.pub

  2)把公钥文件传输至远程服务器对应用户的家目录,如果写错成私钥文件名,不用担心,传过去的依然是公钥.

  命令格式

    ssh-copy-id [-i [identity_file]] [user@]host

]# ssh-copy-id -i .ssh/id_rsa.pub root@172.18.7.77
root@172.18.7.77's password:
Now try logging into the machine, with "ssh 'root@172.18.7.77'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

3)在服务器端查看/root/.ssh/

]# cat /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAusWy2QOYUC5kuwG+lNO7mWqWO/lvyqhAB1jiEcpAlns//kxVkifRtfDrA0+u7Pi+/eenW/6g1ZA6iP1muyprNXa+F84QjAaIBVlJuizKzF1iVFDOULdbyVRkKxx5Z8rlmG8WPeDl/1q9yIRrjUD84am8FOHsT/tzFLbEoeKL8vd/F6V1FPqlI+DLO28LgQ/b1Q21lJRk/XB6YvmFain9qwlzB0VF4vKVAhwVRmzA6hCxS7zohIJe8Y+1pC654mKwERtaM6PBUYPr/l0iznfU5Dxsvr4d8hp9xe2tDkyi7xkS0wd0DOE7SGbgwqUKxh7iuA+qBdln2h8dtC0dqGPlaw== root@centos6.qt

说明已经传输成功

4)测试

  在客户端直接执行

]# ssh 172.18.7.77
Last login: Thu Jan 4 21:45:22 2018 from 172.18.7.61

  即可免密码直接登陆,不输用户名默认以当前登陆用户身份尝试登陆.

  使用Xshell或SecureCRT之类的客户端软件实现基于秘钥登陆的原理与上文相同,只要通过客户端软件生成一个公钥,并复制到服务器中,将公钥内容追加到 ~/.ssh/authorized_keys中

  之后新建一个以秘钥方式登陆的会话,则可以免密码直接登陆.

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,495
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,909
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,741
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,496
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,134
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,298