• 首页
  • 狐文
  • 狐图
  • About
狐窝
OvO
  1. 首页
  2. Linux
  3. 正文

SSH使用密钥登录并禁止口令登录实践

2017年08月04日 69点热度 0人点赞 0条评论

2015-08-13 from---https://wsgzao.github.io/post/ssh/

文章目录

  1. 1. 前言
  2. 2. 更新历史
  3. 3. 生成PublicKey
  4. 4. 复制密钥对
  5. 5. 修改SSH配置文件
  6. 6. 手动增加管理用户

前言

无论是个人的VPS还是企业允许公网访问的服务器,如果开放22端口的SSH密码登录验证方式,被众多黑客暴力猜解捅破菊花也可能是经常发生的惨剧。企业可以通过防火墙来做限制,普通用户也可能借助修改22端口和强化弱口令等方式防护,但目前相对安全和简单的方案则是让SSH使用密钥登录并禁止口令登录。

这是最相对安全的登录管理方式


更新历史

2015年08月13日 - 增加Bash Shell自动修改脚本
2015年07月07日 - 初稿

阅读原文 - https://wsgzao.github.io/post/ssh/

扩展阅读

  • SSH原理与运用 - http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
  • Linode - https://www.linode.com/docs/networking/ssh/use-public-key-authentication-with-ssh

生成PublicKey

建议设置并牢记passphrase密码短语,以Linux生成为例

Linux:ssh-keygen -t rsa
[私钥 (id_rsa) 与公钥 (id_rsa.pub)]
Windows:SecurCRT/Xshell/PuTTY
[SSH-2 RSA 2048]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#生成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:
aa:8b:61:13:38:ad:b5:49:ca:51:45:b9:77:e1:97:e1 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|    .o.          |
|    ..   . .     |
|   .  . . o o    |
| o.  . . o E     |
|o.=   . S .      |
|.*.+   .         |
|o.*   .          |
| . + .           |
|  . o.           |
+-----------------+

复制密钥对

也可以手动在客户端建立目录和authorized_keys,注意修改权限

1
2
3
4
#复制公钥到无密码登录的服务器上,22端口改变可以使用下面的命令
#ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 [email protected]"
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]192.168.15.241

修改SSH配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#编辑sshd_config文件
vi /etc/ssh/sshd_config

#禁用密码验证
PasswordAuthentication no
#启用密钥验证
RSAAuthentication yes
PubkeyAuthentication yes
#指定公钥数据库文件
AuthorsizedKeysFile .ssh/authorized_keys

sed -i "s/^PasswordAuthentication.*/PasswordAuthentication no/g" /etc/ssh/sshd_config
sed -i "s/^#RSAAuthentication.*/RSAAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PubkeyAuthentication.*/PubkeyAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#AuthorizedKeysFile.*/AuthorizedKeysFile .ssh\/authorized_keys/g" /etc/ssh/sshd_config

重启SSH服务前建议多保留一个会话以防不测

1
2
3
4
5
6
#RHEL/CentOS系统
service sshd restart
#ubuntu系统
service ssh restart
#debian系统
/etc/init.d/ssh restart

手动增加管理用户

可以在== 后加入用户注释标识方便管理

1
2
3
4
echo 'ssh-rsa XXXX' >>/root/.ssh/authorized_keys

# 复查
cat /root/.ssh/authorized_keys
标签: 暂无
最后更新:2017年08月04日

OvO

狐狸

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
BBR安装启用 安装docker mitmproxy 调试方法 Android SDK 版本选择 Perdition Mail代理服务器配置 HAProxy SSL代理 Openssl 中间人SSL代理 Stunnel SSL to SSL代理 NGINX反代IMAP配置 各种设备User Agent Torrent下载工具推荐 用 rar2john+hashcat 破解 RAR 文件密码 2020最好的Linux发行版 关闭新版chrome工具栏上拼图图标 Office 下载、安装、激活,有它就够了! Android 非官方的发行版 openwrt添加autoconf-archive FreeNAS 移动Jails到另一个池 move iocage Jails to another pool
NGINX反代IMAP配置Stunnel SSL to SSL代理Openssl 中间人SSL代理HAProxy SSL代理Perdition Mail代理服务器配置Android SDK 版本选择mitmproxy 调试方法安装dockerBBR安装启用
Torrent下载工具推荐 IntelliJ IDEA创建SpringMVC+Maven项目 Python爬虫之PhantomJS用法总结 Linux Mint 安装JDK 如何生成HTTPS证书 Linux Deploy上安装MYSQL nginx配置:location配置方法及实例详解 Linux 下大家喜欢用什么命令查看流量? 解決Linux系統的中文變成細明體或是標楷體的問題 使用CMD获取进程运行的命令行 推荐 15 款很棒的文本编辑器 Gmail邮件客户端跳板解决方案 Python 定义编码 验证码破解技术四部曲之环境搭建篇(一) 如何隐藏windows 10 此电脑中多出来的 3D 对象 文件夹 Maven倉庫優先級以及失敗機制分析 Docker 部署 Samba 文件共享服务 隐藏可移动设备列表中不希望出现的硬件
标签聚合
网卡 下载 git ssl chromium 镜像 chrome 密码 docker blog 安装 路由 https linux yum e

COPYRIGHT © 2020 狐窝. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS