概述:

  SSH登录的认证方式分为两种,一种是使用用户名密码的方式,另一种就是通过公钥认证的方式进行访问,

  用户名密码登录的方式没什么好说的,本文主要介绍通过公钥认证的方式进行登录。

思路:

  在客户端生成公钥和私钥,将公钥上传至服务器上后进行无密码访问。

环境:

  客户机:192.168.129.129

  服务机:192.168.129.128

步骤:

  (1)在客户端生成公钥与私钥

root@kali2:~/.ssh# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   <-- 此处使用默认路径,直接回车
Enter passphrase (empty for no passphrase):           <-- 此处使用空密码,直接回车
Enter same passphrase again:                    <-- 继续回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e9::e1:c9::9e:cb:1e:ec::8c:e9:9a:a5::ff root@kali2
The key's randomart image is:
+---[RSA ]----+
| |
| |
| . |
| + . |
| S+o |
| +o*o. |
| ..O =. |
| X.o .. |
| =...E. |
+-----------------+

  (2)查看已生成的公钥私钥

root@kali2:~/.ssh# ls -l
total
-rw------- root root Jul : id_rsa
-rw-r--r-- root root Jul : id_rsa.pub
-rw-r--r-- root root Jul : known_hosts

  (3)将公钥id_rsa.pub发送到服务器上

root@kali2:~/.ssh# scp -r /root/.ssh/id_rsa.pub root@192.168.129.128:/root/.ssh
root@192.168.129.128's password:
id_rsa.pub % .4KB/s :

  (4)进入服务器的/root/.ssh目录下,将id_rsa.pub内容重定向到同目录下的文件authorized_keys里

[root@localhost .ssh]# ls
id_rsa.pub known_hosts
[root@localhost .ssh]# touch authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa.pub known_hosts
[root@localhost .ssh]# cat id_rsa.pub >> ./authorized_keys
[root@localhost .ssh]# ls -l
total
-rw-r--r--. root root Jul : authorized_keys
-rw-r--r--. root root Jul : id_rsa.pub
-rw-r--r--. root root Jul : known_hosts

  (5) 此时在客户机访问服务机可不输入密码了

root@kali2:~/.ssh# ssh 192.168.129.128
Last failed login: Tue Jul :: CST from 192.168.129.129 on ssh:notty
There was failed login attempt since the last successful login.
Last login: Tue Jul :: from 192.168.129.129
[root@localhost ~]#

注意事项:

在使用公钥认证之前,先检查一下服务器的ssh配置文件/etc/ssh/sshd_config
RSAAuthentication yes # 启用 RSA 认证,默认为yes
PubkeyAuthentication yes # 启用公钥认证,默认为yes 如果安全性要求高,修改一下服务器的配置文件/etc/sshd/sshd_config,
禁用密码登录,只能通过公钥方式登录。

  PasswordAuthentication no

最新文章

  1. Linux下使用Hexo搭建github博客
  2. mysql日志 解析
  3. 【BZOJ-2733】永无乡 Splay+启发式合并
  4. PHP实现前台同步显示后台任务进度
  5. 示例:Servlet显示当前系统时间(时间格式化)
  6. setTimeout浅析
  7. LNK快捷方式漏洞利用方式 exp制作教程
  8. 阅读 LdrInitializeThunk
  9. MYSQL索引的类型和索引的方式
  10. SharePoint 读取选项字段所有Choise
  11. 3.STM32复位系统
  12. 【sping揭秘】19、关于spring中jdbctemplate中的DataSource怎么来呢
  13. ngx-echarts响应式图表
  14. 【转】#ifdef __cplusplus+extern &quot;C&quot;的用法
  15. 洛谷P1098 字符串的展开【字符串】【模拟】
  16. CSS学习笔记03 CSS层叠性、继承性、特殊性
  17. socket recv阻塞与非阻塞error总结
  18. css笔记 - 张鑫旭css课程笔记之 absolute 篇
  19. Android中的各种访问权限Permission含义
  20. ny104 最大和

热门文章

  1. Oracle bbed 实用示例-----修改Data内容、恢复delete的rows
  2. Rac &amp; DG
  3. snmptrap使用
  4. 【python】为什么用python
  5. SharePoint 101 Code Samples are now available
  6. WPF中使用MVVM模式进行简单的数据绑定
  7. 史上最全的Excel数据编辑处理技巧(转)
  8. VBS基础篇 - 循环
  9. Qt中使用Firebird 和 Firebird Embedded
  10. C#系统缓存全解析