如何为linux安装ssh系统中的ssh添加双重认证

linux-openssh高级密码策略
&昨日突然看见有人在网上询问怎么加固openssh 使用密码+证书双重认证,看到了一种解决方法,就是使用openvpn先登录上去 再使用openssh证书登录,我的妈呀,为了加个密码还要专门搞个openvpn,其实如果咱们的现有部署本身就要openvpn也没什么说的,可是如果不需要就多余了。而且又开了一个大门!&
& & 好像openssh不支持密码和证书同时认证,要么证书,要么密码随便哪个成功就好了,不能&且&关系! &怎么办呢,考虑了一下有几个方案:
& &1,最简单的方法就是制作key时加上密码短语,不过这个不方便集中管理!
& &2,使用以下代码加固/etc/profile &&
trap 'echo &Please Ener Your Password!!& ' 1 2 3 9 15 17 18 19 20 24
#这里是密码,你可以先md5sum sha512sum加密也是可以的!
stty -echo
echo -n &--:&
while [ &$key& != &$mima& ]
echo -n &--:&
cishu=`expr $cishu + 1`
while [ $cishu -gt 10 ]
#这里执行退出返回linux登陆状态
echo &wellcom !! Now time is `date`!&
& 把以上代码加到/etc/profile末尾,不管你是ssh登陆还是直接linux登陆,登陆后还要进行二次登陆在多用户环境下!单用户不考虑了!让黑客傻眼!!
3,使用tomoyo-mac加固系统,这个强大点可以实现二次密码认证,或者多个密码策略,根据输入的密码不同实现不同的权限!!实现代码:
& &首先建立1个认证脚本 aut1
echo &password& | sha1sum#!/bin/sh -p
hash=&c8fed00eb2e87f1cee8e90ebbe870c190ac3848c &-&
read -r -s -e -p &Password: & password
hash_attempt=&$(echo &$password& | sha1sum)&
if [ &$hash_attempt& = &$hash& ]; then
& exec $SHELL
& echo &Authentication failed&
fi &然后设置tomoyo-mac&
& & & & &锁定/usr/sbin/sshd域到&kernel&下方便管理
initialize_domain /usr/sbin/sshd from any & & & 在/usr/sbin/sshd 产生的 /bin/bash域下设置强制权限,只能执行auth1程序!
file execute /bin/auth1 exec.realpath=&/bin/auth1&锁定由auth1产生的域/bin/bash的权限,方便集中管理keep_domain any from &kernel& /usr/sbin/sshd /bin/bash /bin/auth1 /bin/bash & & &之后就是/usr/sbin/sshd /bin/bash /bin/auth1 /bin/bash 域 进行强制权限控制了!很简单,不过很灵活,咱们可以使用不同的auth1 auth2 auth3认证 不同的权限集!
&好了以上就是对openssh认证加固了,当然了,最新出现的google二维码认证也是可以的,不过太麻烦了还要手机拍照。费劲!要是google死了,怎么登陆呢!话说到这里,还是顺便讲讲openssh安全加固吧:
& &1,使用sshd_config 限制allowuser 密码登陆次数 等等安全控制
& &2,没有必要不要使用dropbear 相关ssh-serer绝对没有openssh安全稳定,openbsd出品必属精品!
& 3,最新稳定版openssh-6.2p1 gcc fstack-protect-all加固,可以顺便修改version.h伪装下,编译选项为最小安装就好了什么pam utmp tcptrap全部关闭呵呵!
& 4,使用强大的grsecurity 加固内核,添加溢出保护patch &paxctl -PEMRXS sshd!
& 5,当然是openssh证书+密码短语登陆了,加上附加的密码认证 三重认证了!没必要吧!!!
& 6,iptables -I INPUT -m time 加上时间控制,并发控制等等!!
& 7,狠点再加上grsecurty chroot 补丁 加固linux chroot 功能对sshd加固,分区只读锁定openssh所在的分区!(只读锁定是一个危险的功能,开启了只有重启才能更改!)
& & 好了基本上就这些了,以上这些就是从网络层 密码认证层 程序溢出层 虚拟沙盒层加固了openssh!希望大家能用的到!
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。创建SSH Key连接GitHub或GitLab_Linux教程_Linux公社-Linux系统门户网站
你好,游客
创建SSH Key连接GitHub或GitLab
来源:Linux社区&
作者:troy
当我们从GitHub或者GitLab上clone项目或者参与项目时,我们需要证明我们的身份。一种可能的解决方法是我们在每次访问的时候都带上账户名、密码,另外一种办法是在本地保存一个唯一key,在你的账户中也保存一份该key,在你访问时带上你的key即可。GitHub、GitLab就是采用key来验证你的身份的,并且利用RSA算法来生成这个密钥。
首先你需要在github上或者gitlab上有一个自己的账户
打开git bash,输入命令ls -al ~/.ssh。
检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第4步。
在git bash中键入ssh-keygen -t rsa -C "your_",注意将这里的邮箱地址替换成你自己的邮箱地址。在显示如下的输出后,
一直按回车就可以了。然后就显示成这样:
在这里可以看到id_rsa和id_rsa.pub文件已经生成。并且生成的路径也已显示。
用记事本之类的软件打开id_rsa.pub文件,并且复制全部内容。
在你的gitlab或者github的账户,打开SSH key标签。
然后选择Add SSH key按钮,将刚刚复制的内容粘贴进去即可,然后点击add key。
全部操作完成,只要你对你要操作的项目的有权限,接下来就可以顺利的进行git的操作了。
上部署 GitLab (自托管的Git项目仓库)
在RHEL6/CentOS6/ScientificLinux6上安装GitLab 6.0.2
CentOS 6.5安装GitLab教程及相关问题解决
开启SSH服务让手机远程访问
如何为Linux系统中的SSH添加双重认证
在 Linux 中为非 SSH 用户配置 SFTP 环境
Linux 上SSH 服务的配置和管理
SSH入门学习基础教程
Linux 下 SSH 命令实例指南
GitLab 的详细介绍:GitLab 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (01月21日)
& (01月18日)
& (01月22日)
& (01月19日)
& (01月17日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Linux系统下OpenSSH速度提升方法与技巧
Linux系统下OpenSSH速度提升方法与技巧,阅读Linux系统下OpenSSH速度提升方法与技巧,虽然使用公钥验证是一个提高SSH安全数据传输的很好的方法。传输SSH身份密钥也会是一件痛苦的事情。首先,你要创建你的密钥对。然后,你把公钥复制到所有你希望登录机器的正确
   
虽然使用公钥验证是一个提高SSH安全数据传输的很好的方法。传输SSH身份密钥也会是一件痛苦的事情。首先,你要创建你的密钥对。然后,你把公钥复制到所有你希望登录机器的正确位置。密钥必须是一种特殊的格式,你必须到一个有正确权限的特定目录。
幸运的是 ssh-copy-id,一个OpenSSH里面的小工具,让这一切变得简单。
SSH 是一个安全的远程管理工具,提供许多处理的捷径及能力。 比如,你可以登录然后,执行一个远程命令,而这一切只需要一个命令。而不用首先登录,再输入命令:
carla@host1:~$ ssh terry@host2 ls ~
这是一个有意思的例子并且有一个小玄机- ls ~ 会列出 Carla的 home 目录,而不是 Terry的。如果你想看 Terry的 home 目录你必须使用 ls /home/terry。做这些你只需要输入一要命令。比如启动一个备份脚本,查看进程或者打印一份文档。
$ ssh-copy-id -i id_rsa.pub terry@host2
ssh-copy-id 用正确的格式复制身份密钥。要确保文件权限及属主是正确的并且要确定,私钥不会被意外上传。
使用基于密钥的认证而非密码认证,表示你不用泄露你的系统密码。为了让管理多台远程机器更加简单,你可以使用你所想要的任何名字创建密钥,就像下面这样:
$ ssh-keygen -t rsa -f id_apacheserver
要连接的时候,你可以容易使用正确的定密钥:
$ ssh -i id_apacheserver carla@host.alrac.net
最后,不要忘记强大的 sshfs 命令,用它来加载一个远程文件系统。这比Samba及NFS服务器速度都要快。首先创建 一个本地目录作为挂载点,然后加载远程文件系统:
$ sshfs hostname:/remotedir localdir/
现在你就可以,像操作本地文件一样操作这个远程文件系统了。
(责任编辑:)
本文关键字:
广告赞助商
最新视频推荐
Copyright (C) 2007-, All Rights Reserved 版权所有 . 沪ICP备号
地址:上海徐汇区零陵路585号 爱邦大厦26H座
传真(FAX):021-
电话(Tel):021-
PHP100 Website Powered by PHPCMS. For PHP100. 服务器维护:阿里巴巴-阿里云【频道】RHCE认证视频教程
【我赢职场】如何初步检查服务器运行状态
【我赢职场】如何在linux下压缩和备份一些重要文件
【我赢职场】如何在linux服务器上查找自己需要的文件和命令-find高级使用-grep正则表达式-rpm查找文件
【我赢职场】如何在linux服务器上查找自己需要的文件和命令-local-which-whereis-find
【我赢职场】熟练使用linux中的编辑器-自定义vim
【我赢职场】熟练使用linux中的编辑器vim
播放:1540
【我赢职场】如何恢复linux下被误删除的文件以及如何防止文件被误删
【我赢职场】如何在linux服务器中添加一个自己平时登录的账户并且在必要时以root身份运行命令
【我赢职场】如何在Linux服务器中添加一个自己平时登录的账户并且在必要时以root身份运行命令
【我赢职场】更改linux中的语言环境并安装中文输入法和星际译王翻译工具-更改linux中的语言环境
【我赢职场】更改linux中的语言环境并安装中文输入法和星际译王翻译工具-更改linux中的语言环境
【我赢职场】查看当前Linux系统基本信息的命令及方法
【我赢职场】如何找回丢失密码的root用户身份-用光盘救援模式修改root密码
【我赢职场】如何找回丢失密码的root用户身份-指定开机只加载程序bash程序-开机不加载init程序
【我赢职场】如何找回丢失密码的root用户身份-进入单用户模式-grup加密
【我赢职场】如何将光盘、优盘及windows服务器上的数据复制到linux服务器上
【我赢职场】如何使用ssh工具远程连接Linux服务器进行操作
播放:1584
【我赢职场】如何使服务器尽量安全的关机和定时开机
【我赢职场】如何配置服务器的网络参数-网络连通性测试命令
分享给站外好友
页面地址:
FLASH地址:
HTML代码:
通用代码:
可以让视频在手机、平板电脑上播放!
举报此视频包含不当内容:
请填写你要举报的内容,标明举报内容所在地时段,将有助于我们更及时的处理举报内容。感谢您对PPS的支持!
广告和欺诈
触犯我的版权
你可以把视频下载到不同的设备
使用电脑飞速下载轻易收藏喜欢的视频
使用苹果设备支持iPhone、iPad高清视频亦可离线观看
使用Android设备支持手机、平板高清视频亦可离线观看
拍下二维码,视频随身看
用PPS影音IOS/Android版扫描二维码,在您的移动设备上继续观看视频,也可以分享给您的好友。
【我赢职场】如何使用ssh工具远程连接Linux服务器进行操作
手机没装PPS影音?
频道信息:
RHCE认证视频教程
播放:3.31万
RHCE认证视频教程
注:数据来自爱奇艺、PPS全平台
【我赢职场】如何使用ssh工具远程连接Linux服务器进行操作
上传时间:15个月前
上 传 者:
所属频道:RHCE认证视频教程
上 传 自:
分&&&&&&类:教育
暂无相关内容
视频简介:【我赢职场】如何使用ssh工具远程连接Linux服务器进行操作
现在可以用QQ账号直接发表评论,分享给我的好友
大家都在看
互联网药品信息服务许可证:
互联网医疗保健信息服务许可证:
Copyright&2005 - 2014 PPStream, Inc. All Rights Reserved如何为Linux系统中的SSH添加双重认证
近来很多知名企业都出现了密码泄露,业内对多重认证的呼声也越来越高。在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如 用户名/密码),再借助其他工具提供用户所不知道的信息(如 用手机生成的一次性密码)。这种组合方式常叫做双因子认证或者两阶段验证。
为了鼓励广泛采用双因子认证的方式,Google公司发布了Google Authenticator,一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。这是一款跨平台软件,可运行在Linux, Android, iOS。Google公司同时也支持插件式鉴别模块PAM(pluggable authentication module),使其能和其他也适用PAM进行验证的工具(如OpenSSH)协同工作。
在本教程中,我们将叙述集成OpenSSH和Google提供的认证器实现如何为SSH服务设置双因子认证。我将使用一款Android设备来生成一次性密码,本教程中需要两样武器:(1)一台运行着OpenSSH服务的Linux终端,(2)一台安卓设备。
在Linux系统中安装Google Authenticator
第一步需要在运行着OpenSSH服务的Linux主机上安装Google认证器。按照如下步骤安装Google认证器及其PAM模块。
用安装包安装 Google Authenticator
如果你不想自己构建 Google Authenticator,在几个 Linux 发行版上有已经编译好的安装包。安装包里面包含 Google Authenticator 二进制程序和 PAM 模块。
在 Ubuntu 上安装 Google Authenticator:
$ sudo apt-get install libpam-google-authenticator
在 Fedora 上安装 Google Authenticator:
$ sudo yum install google-authenticator
在 CentOS 上安装 Google Authenticator ,需要首先启用 EPEL 软件库,然后运行如下命令:
$ sudo yum install google-authenticator
如果不想使用已经编译好的安装包,或者你的 Linux 发行版不在此列,可以自行编译:
在 Linux 上 Google Authenticator
首先,安装构建 Google Authenticator 所需的软件包。
在 Debian、 Ubuntu 或 Linux Mint 上:
$ sudo apt-get install wget make gcc libpam0g-dev
在 CentOS、 Fedora 或 RHEL上:
$ sudo yum install wget make gcc pam-devel
然后下载 Google Authenticator 的源代码,并按如下命令编译。
$ wget https://google-/files/libpam-google-authenticator-1.0-source.tar.bz2
$ tar xvfvj libpam-google-authenticator-1.0-source.tar.bz2
$ cd libpam-google-authenticator-1.0
如果构建成功,你会在目录中看到 pamgoogleauthenticator.so 和 google-authenticator 两个文件。
最后,将 Google Authenticator 安装到合适位置
$ sudo make install
当编译 Google Authenticator 时出现如下错误:
fatal error: security/pam_appl.h:No such file or directory
要修复这个问题,请安装如下依赖包。
在 Debian、 Ubuntu 或 Linux Mint 上:
$ sudo apt-get install libpam0g-dev
在 CentOS、 Fedora 或 RHEL 上:
$ sudo yum install pam-devel
当Google认证器安装好后,你需要在Linux主机上创建验证密钥,并且在安卓设备上注册,注意这项配置操作是一次性的。我们将详细叙述如何完成这些操作:
生成验证密钥
在Linux主机上运行Google认证器
$ google-authenticator
你将看到一个QR码,它使用表示我们数字形态的密钥。一会我们要用到它在安卓设备上完成配置。
Google认证器会问一些问题,如果你不确定,就回答&Yes&。这个应急备用验证码(emergency scratch codes)可以在你由于丢失了绑定的安卓设备的情况下(所以不能得到生成的一次性密码)恢复访问。最好将应急备用验证码妥善保存。
在安卓设备上运行Google认证器
我们需要在安卓设备上安装Google Authenticator app才能完成双因子认证,到Google Play下载并安装一个。在安卓设备上运行Google认证器,找到所示中的配置菜单。
你可以选择&Scan a barcode& 或者&Enter provided key&选项。&Scan a barcode&允许你扫描QR码来完成密钥的输入,在此可能需要先安装扫描软件Barcode Scanner app。如果选择&Enter provided key&选项,你可以使用键盘输入验证密钥。
无论采用上述两种选项的任何方式,一旦成功,你将看到注册成功提示和一次性密码。
为SSH服务器用Google认证器
最终我们需要修改两个文件来完成集成Google认证器和OpenSSH服务这临门一脚。
首先,修改PAM配置文件,命令和需添加的内容如下:
$ sudo vi /etc/pam.d/sshd
auth required pam_google_authenticator.so
然后打开SSH配置文件,找到参数ChallengeResponseAuthentication,并启用它。
$ sudo vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
最后,重启SSH服务。
在 Ubuntu、 Debian 和 Linux Mint 上:
$ sudo service ssh restart
在Fedora (或 CentOS/RHEL 7)上:
$ sudo systemctl restart sshd
在CentOS 6.x或 RHEL 6.x上:
$ sudo service sshd restart
验证双因子认证
在绑定的安卓设备上运行Google认证器,获得一个一次性验证码,该验证码30秒内有效,一旦过期,将重新生成一个新的验证码。
现在和往常一样,使用SSH登录终端
$ ssh user@ssh_server
当提示你输入验证码的时候,输入我们刚获得的验证码。验证成功后,再输入SSH的登录密码。
双因子认证通过在用户密码前新增一层来有效的保护我们脆弱的用户密码。你可以使用Google认证器来保护我们其他的密码,如Google账户, , , 等等。是否使用这项技术,取决于我们自己,但采用双因子认证已经是行业的大趋势了。
------分隔线----------------------------
很多朋友在尝试使用Linux操作系统的时候,会觉得安装软件包是一件很麻烦的事,主要缘...
Linux下怎么一步到位设置系统时间。拿linux虚拟机做实验的朋友会知道。当你把linux还...
在命令行里面,有时需要进行一个简单的手工数学计算。内置的“bc”命令是一种“任意精...
原文作者近期刚开始与他的合作者合著一本关于Ubuntu技巧的书,目前定名为《Ubuntu功夫...
许多人认为Linux比Windows更加安全。然而,在安全性显得更加重要的今天,这种安全性还...
由于当初安装系统时设计不合理,有些分区分的过小,以及网络通讯故障等造成日志文件迅...}

我要回帖

更多关于 linux ssh 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信