Ubuntu怎样配置免密码登录

博客分类:
环境说明:
打在系统的两台计算机和
两台计算机均已安装服务
两台机器上都存在用户 
下面开始配置:
在master节点上执行以下命令:
 这条命令是生成密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:和,默认存储在xuyizhen/.ssh"目录下。
接着在master节点上做如下命令,把追加到授权的里面去。
修改文件权限:
用用户登录服务器修改文件的下列内容:
将下列内容所在行的前面的去掉
RSAAuthentication yes # 启用 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径 设置完之后记得重启服务,才能使刚才设置有效。
(文件夹下放置系统的服务,是一种服务)
退出登录,使用xuyizhen普通用户验证是否成功。
从上图中得知无密码登录本级已经设置完毕.
接下来的事儿是把master公钥复制给。使用下面的命令格式复制公钥:
(是的地址)
在机器上创建文件夹,然后修改文件夹的用户权限,
到目前为止,在机器上,关于的公钥也有了,文件夹也有了,且权限也修改了。
下一步就是把的公钥追加到的授权文件中去。
使用下面命令进行追加并修改文件权限:
4)用用户修改节点的
记得重启服务
最后记得把目录下的文件删除掉。
到此为止,我们经过前步已经实现了从到的无密码登录(由于我们的配置工作是针对用户的,所以只有用户能实现无密码登陆,如果想实现其他用户如用户的无密码登陆,只需要在其他用户下操作上述过程即可)
以上是配置两台计算机之间的无密码登陆,假设现在要配置台机器之间的无密码登陆,以为例,那么就得依次生成密钥对,再通知其他机器。
A生成密钥对,配置完毕后,将公钥给,再分别到上配置,这实现到的无密码登陆。
B生成密钥对,配置完毕后,将公钥给,再分别到上配置,这实现到的无密码登陆。
C生成密钥对,配置完毕后,将公钥给,再分别到上配置,这实现到的无密码登陆。
至此,才实现了之间的无密码登陆。
好了,至此配置应该没有什么问题了,下面我们来说原理:
以为例,以前从登陆,总是需要密码验证,很繁琐。那么我可以不可以使用密码登陆一次之后,就让记住当前登陆的就是我们想到密钥对了,在上生成密钥对,然后将的公钥传给,这样以后就可以通过验证是否与的公钥匹配来判断当前登陆的的是否是了。
关于协议,请看
&!--EndFragment--&
浏览: 115198 次
来自: 杭州
学习了,学习了
终于知道了#$的区别
masuweng 写道寻求cas的更多例子,http://ww ...
java.util.concurrent包中到处都使用了CAS ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'云计算&大数据
WEB开发设计
Object Storage
Conceptual
Product Documentation
ZoneMinder
Kubernetes
如何设置密码验证与Apache在Ubuntu 16.04
当运行网站时,通常有部分网站需要限制访问者。
Web应用程序可以提供他们自己的认证和授权方法,但是如果Web服务器本身不足或不可用,它们也可以用于限制访问。
在本指南中,我们将演示如何对运行在Ubuntu 16.04上的Apache Web服务器上的资产进行密码保护。
为了完成本教程,您将需要访问Ubuntu 16.04服务器。
此外,在开始之前,您需要具备以下条件:
一个sudo服务器上的用户 :您可以创建一个用户sudo按照权限 。
一个Apache2的Web服务器 :如果您尚未设置一个,深入文章的Apache的部分,
,可以指导你。
与SSL保护的站点 :您如何设置,多达取决于你是否有一个域名为您的网站。
如果你有一个域名......,以确保您的网站的最简单的方法是让我们的加密,它提供免费的,受信任的证书。 按照设置此。
如果你没有一个域...你只是使用测试或个人使用此配置,您可以使用自签名证书来代替。 这提供了相同类型的加密,但没有域验证。 按照才能完成设置。
当所有这些都到位,登录到您的服务器作为sudo用户,并在下面继续。
- 安装Apache实用程序包
我们将使用了一个叫htpasswd ,该部分apache2-utils包,创建文件和管理用户名和访问受限内容所需的密码。 sudo apt-get update
sudo apt-get install apache2-utils
- 创建密码文件
我们现在可以访问htpasswd命令。 我们可以使用它来创建Apache可以用来验证用户的密码文件。 我们将为此创建一个名为隐藏文件.htpasswd我们中/etc/apache2配置目录。
我们使用这个工具的第一次,我们需要添加-c选项来创建指定的文件。 我们指定一个用户名( sammy在命令的结尾在这个例子中)创建该文件中的新条目: sudo htpasswd -c /etc/apache2/.htpasswd sammy
系统将要求您提供并确认用户的密码。
离开了-c参数为您要添加任何额外的用户: sudo htpasswd /etc/apache2/.htpasswd another_user
如果我们查看文件的内容,我们可以看到每个记录的用户名和加密密码: cat /etc/apache2/.htpasswd
Outputsammy:$apr1$.0CAabqX$rb8lueIORA/p8UzGPYtGs/
another_user:$apr1$fqH7UG8a$SrUxurp/Atfq6j7GL/VEC1
- 配置Apache密码验证
现在我们有一个文件包含用户和密码的格式,Apache可以读取,我们需要配置Apache检查此文件,然后再提供我们的受保护的内容。 我们可以通过以下两种方式之一做到:直接在站点的虚拟主机文件中,或通过将.htaccess文件放在需要限制的目录中。 通常最好使用虚拟主机文件,但如果您需要允许非root用户管理自己的访问限制,请检查网站旁边的版本控制限制,或使用.htaccess文件的Web应用程序已经用于其他目的,检查第二个选项。
选择最适合您需要的选项。
选项1:在虚拟主机定义(首选)中配置访问控制
第一个选项是编辑Apache配置并向虚拟主机文件添加密码保护。 这通常会提供更好的性能,因为它避免了读取分布式配置文件的开销。 此选项需要访问配置,该配置并不总是可用,但是当您有访问权限时,建议您使用。
首先打开您要添加限制的虚拟主机文件。 在我们的例子中,我们将使用000-default.conf持有通过Ubuntu的软件包的Apache安装默认的虚拟主机文件: sudo nano /etc/apache2/sites-enabled/000-default.conf
在里面,删除注释,文件应该看起来像这样:
/etc/apache2/sites-enabled/000-default.conf &VirtualHost *:80&
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&/VirtualHost&
认证是在每个目录基础上完成的。 要设置身份验证,则需要针对您希望与限制的目录&Directory ___&块。 在我们的示例中,我们将限制整个文档根目录,但您可以修改此列表以仅定位网络空间中的特定目录:
/etc/apache2/sites-enabled/000-default.conf &VirtualHost *:80&
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&Directory "/var/www/html"&
&/Directory&
&/VirtualHost&
在这个目录块,指定我们希望设置Basic身份验证。 对于AuthName ,选择提示输入凭据时将显示给用户一个领域名称。 使用AuthUserFile指令以指向Apache将我们创建的密码文件。 最后,我们将需要一个valid-user来访问这个资源,这意味着任何人谁可以使用密码来验证他们的身份将被允许在:
/etc/apache2/sites-enabled/000-default.conf &VirtualHost *:80&
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&Directory "/var/www/html"&
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
&/Directory&
&/VirtualHost&
保存并在完成后关闭文件。
在重新启动Web服务器之前,可以使用以下命令检查配置: sudo apache2ctl configtest
如果一切正常,你会得到Syntax OK ,然后重新启动来实现你的密码策略的服务器。 由于systemctl不显示所有服务管理命令的结果,我们将使用的status ,以确保服务器正在运行: sudo systemctl restart apache2
sudo systemctl status apache2
现在,您指定的目录现在应该受密码保护。
选项2:使用.htaccess文件配置访问控制
Apache可以使用.htaccess文件,以允许某些配置项目内容目录中进行设置。 因为Apache必须重新读取每个涉及的目录,它可以表现产生负面影响的要求这些文件,选项1是首选,但如果你已经在使用.htaccess文件或需要允许非root用户管理限制.htaccess文件是有意义的。
要使用启用密码保护.htaccess文件,打开主Apache配置文件: sudo nano /etc/apache2/apache2.conf
找到&Directory&为块/var/www保存的文档根目录。 打开.htaccess通过改变加工AllowOverride从“无”到“全部”该块内指令:
/etc/apache2/apache2.conf . . .
&Directory /var/www/&
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
&/Directory&
保存并在完成后关闭文件。
接下来,我们需要一个添加.htaccess文件,我们希望限制的目录。 在我们的演示中,我们将限制是基于在整个文档根目录(整个网站) /var/www/html ,但你可以把这个文件在你想限制访问任何目录: sudo nano /var/www/html/.htaccess
在这个文件中,指定我们希望设置Basic身份验证。 对于AuthName ,选择提示输入凭据时将显示给用户一个领域名称。 使用AuthUserFile指令以指向Apache将我们创建的密码文件。 最后,我们将需要一个valid-user来访问这个资源,这意味着任何人谁可以使用密码来验证他们的身份将被允许在:
/var/www/html/.htaccess AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
保存并关闭文件。 重新启动Web服务器密码或与该目录下保护所有内容.htaccess文件,并使用systemctl status验证重启的成功: sudo systemctl restart apache2
sudo systemctl status apache2
- 确认密码验证
要确认您的内容受到保护,请尝试在网络浏览器中访问受限制的内容。 您应该看到一个用户名和密码提示,如下所示:
如果输入正确的凭据,您将被允许访问内容。 如果输入错误的凭据或点击“取消”,您将看到“未授权”错误页面:
恭喜! 如果您已遵循相关规定,则现在已为您的网站设置了基本身份验证。
Apache配置和.htaccess可以做的远不止基本的身份验证。 要了解有关Apache配置中的灵活性和功能的更多信息,请尝试下列教程之一:
为了更好地理解的与主配置文件,请参阅
了解更多关于在虚拟主机的文件
了解与服务器端的所有网页的URL重写,自定义错误页面,如“未授权”消息上方,或包括常见的元素,包括我们的指南中 。
文章分类 10
howtoing.com是一个运维教程站,开始于2012年5月。这里提供如何简单的学习引导Linux/Windows系统管理员的目标。我们一直在努力提供简单易学高质量的文章。
(C)2018 Howtoing运维教程 京ICP备号-1下次自动登录
现在的位置:
& 综合 & 正文
Ubuntu配置SSH免密码登陆
1. 安装SSH:
$ sudo apt-get install ssh
2. 查看是否生成目录.ssh:
$ ls -al /home/xsj/
3. 如果没有,手动创建目录.ssh:
$ mkdir /home/xsj/.ssh
4. 生成公、私密钥:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ ssh-keygen -t rsa
5. 将公钥加到用于认证的公钥文件中:
$ cat ~/.ssh/id_dsa.pub &&~/.ssh/authorized_keys
cp ~/.ssh/id_rsa.pub~/.ssh/authorized_keys
6. 验证是否SSH安装成功:
$ ssh -version
7. 免密码登陆:
$ ssh localhost
【上篇】【下篇】AWS(亚马逊云)EC2型liunx(ubuntu)免密码登录设置教程 | 李大壮的博客
KratosA responsible theme for WordPress
亚马逊云(aws)提供的服务器必须要有秘钥才可以登录。初次登录时可以的,往往第二天还是什么时候就不行了。这篇文章就给大家说明下,ubuntu的亚马逊云EC2型服务器配置免密码登录的过程。
第一步:putty登录服务器;
使用AWS后台给出的链接信息就可以链接到服务器了。(如果不会具体操作的可以看看这篇文章:)
第一步登录AWS服务器
第二步:上传密匙
用PuTTY (Linux ssh).exe 连接linux机器,然后执行下面的命令:
$ cd ~【打开登录帐号的文档目录,相当于windows下面的目录 C:\Users\lenovo】
$ mkdir .ssh【创建.ssh目录,如果已经存在就别建了,在linux上默认看不到该目录(在文件浏览器中通过勾选菜单 查看&显示隐藏文件 可以看到该文件夹)】
$ chmod 700 .ssh【修改文件权限,700表示为用户设置读、写、执行的权限(开头的 7),而不给组和其他用户的权限(后面的两个 0)】
$ cat & authorized_keys【创建文件,文件名为authorized_keys,并将下面的内容输入到该文件】
粘贴刚才复制的public key字符内容(粘贴的方法:在Putty窗口中按Shift+Ins或者点右键);
再按Ctrl+D键保存,结束cat输入内容到该文件的(ctrl+c则是不保存结束输入)。
【在输入的过程中,按回车(enter)键能立即保存刚才输入的文本内容并在文件中抬头】
$ chmod 600 authorized_keys
第二步:上传密匙
第三步:设置Putty
1) 启动Putty,设置好session的各项参数(如果以前已经设置过,那么load一下)
菜单 “SSH-&Auth”,点击 Browse 按钮,选择 key.ppk 文件。
2) 菜单 Connection -& Data -& Auto-login username 填写自动登录所用帐号名称,这里为chenxiaowen,要对应上面用到的
3) 菜单 Session,选择Default Settings,点击 Save 按钮保存修改 。然后点击Open 按钮就可以登录了。
如果上面的操作都没有问题,那这以后直接运行程序PuTTY.exe 就可以无需输入密码自动登录了,登录提示如下:
—————-Using username “chenxiaowen”.Authenticating with public key “rsa-key-43;Linux chenxiaowen-laptop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC To access official Ubuntu documentation, please visit:http://help.ubuntu.com/260 packages can be updated.106 updates are security updates.Last login: Mon Apr 12 22:15:24 2010 from 192.168.0.132chenxiaowen@chenxiaowen-laptop:~$—————-
-----------------------
到这里就完成了、
说明:此方法适用windows电脑链接liunx服务器免密码登录。不适用两台Liunx主机免密码登录。
不错 感谢分享
陕西人,目前从事搜索引擎优化工作,正在向营销方向努力

我要回帖

更多关于 git配置免密码登录 的文章

 

随机推荐