个人工具
登录
查看“OpenSSH高级教程”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“OpenSSH高级教程”的源代码
来自Ubuntu中文
←
OpenSSH高级教程
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
= '''基于RSA key登陆''' = 基于key的授权是可用的ssh授权方法中的一种,因此简单的密码(Ubuntu默认密码)和Kerberos标签。基于Key的验证的几个优点比密码验证更好,至于例子这个key的值就十分明显的很难被暴力破解,或以大量的关键字为条件来猜测弱密码。 数字键也是如此,是对极其相似事物的一个比方,所以可以在可能出现弱密码的地方显示密码安全的程度。使用基于Key登录的ssh 是比使用弱密码的登录,普遍认为更安全的。 [[File: https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconNote.png]] ''注解''''':''' ''同时生成一套能够使用openssh的RSA key而不需要密码是可能的,简单讲,通过ssh登陆不要密码,这个指导书没有描述或者认定这种用法是很不安全的.如果这个缺少密码的key落入其他人手 中,就如你的授权一样,应此所有允许这些key的系统安全都很容易受到威胁,在一些情况下,例如不安全的群环境中,需要有完全没有密码的登陆,但是,这本书没有解释制造这种key的过程。'' ' 这部分将说明启动基本Key登录的ssh ,生成一套公有/私有RSA密匙,并使用它们由OpenSSH登录你的Ubuntu计算机。 注意:Key是在本地(客户机)生成的,并且传输到远程计算机(服务器)上,用于在本地(客户机)登入到远程计算机(服务器)。 ==== 生成 RSA 密匙 ==== 第一步包括生成一组用于验证的RSA 密匙。代表性意思是,你将在想要通过某台电脑去远程登陆其他电脑的这台机器上做这些事情,但是这不是非常重要,因为你总是可以到处把你的密匙安装到需要的机器上。到生成一个RSA 公有/私有密匙,使用下列命令行: <code><nowiki>b@tsh:~$ ssh-keygen -t rsa</nowiki></code> <code><nowiki></nowiki></code> 你必须在一个位置保存你的密匙,和一串对应于你的密匙的passphrase(密码短语口令)注5。当选择passphrase对于密匙时,应选择非常坚 固的passphrase,和便于记忆的,和记录它的位置的安全。这passphrase必须使用钥匙,在每次你要登录到一个基于密匙的系统: <pre>生成公有/私有RSA密匙对。 进入保证密匙的文件(/home/b/.ssh/id_rsa): 进入passphrase(empty for no passphrase): 再次进入同一passphrase: 你的验证文件保存在/home/b/.ssh/id_rsa. 你的公有密匙保存在 /home/b/.ssh/id_rsa.pub. </pre> 祝贺你现在已经有了密匙组。现在布置你的系统已允许你的登录它们。 ==== 在远程电脑寄存密匙 ==== 假设你想使用key的远程ubuntu已经运行了ssh后台程序,接下来放置你自己key对的公共部分在那些电脑上是十分简单的,例如,如果你喜欢开始用基于key的方式登陆一个叫madsion的远程电脑,并且madsion正在运行sshd,并且能够用名字通过网络来到达这台机器,就可以很简单的用sshcopy这个命令来恰当的放置你的key: <code><nowiki>b@tsh:~$ssh-copy-id -i ~/.ssh/id_rsa.pub b@madison</nowiki></code> <code><nowiki></nowiki></code> ==== 登录测试 ==== 接下来, 你将要登录测试,配置连接到机器并使用你的passphrase来解开密匙: <code><nowiki>b@tsh:~$ssh madison</nowiki></code> 你会看到一个要你给出key的passphrase的命令提示符: {| cellspacing="0" border="1" |- | Enter passphrase for key '/home/b/.ssh/id_rsa': |} <br> 输入你的passphrase,并把madison设置为允许从基于密匙的登录,你将要使用它登录。 https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconNote.png '''''注解'':''' 上述的例子只是:一个例子!代替用户名,在这个例子中,机器名用你自己实际的名字是为了增加你成功的机会。 ;-) == '''疑难解答''' == 如果你不是被提示要求passphrase,而是仅仅得到 {| cellspacing="0" border="1" |- | b@madison's password: |} <br> 提示同样使用密码登录,然后读取。有一些情况可以预防向上面提到的这种情况。在默认的Ubuntu安装里,上面的例子能够运行。如果不,下列各项条件,例如这些时常发生的原因: 在远程计算机上,确认 /etc/ssh/sshd_config包含下列各项,和删除它们的注解; {| cellspacing="0" border="1" |- | <code><nowiki>PubkeyAuthentication yes</nowiki></code> |} <br> 如果已经加它们,或已删除注解,那么重要启动sshd,并重新再试一个登录。如果你现在得到了passphrase的提示,那要祝贺你可以用密匙登录了! == '''SSH远程登录''' == 如过你已经成功建立了一个基于RAS密匙的登陆,你可能希望这是你Ubuntu系统上唯一可接受的授权方式,完全放弃弱密码授权.按照这个路线,将能确保自动暴力扫描和攻击工具对你的公共系统攻击更加困难,提前提醒,你一旦丢失了密匙,你会发现你自己也被关在系统外面! 从通知你的sshd不允许弱密码,到只是简单的使用sudo和你喜欢的编辑软件编辑 /etc/ssh/sshd_config,修改下例选项: {| cellspacing="0" border="1" |- | ''<code><nowiki>#PasswordAuthentication yes</nowiki></code>'' |} <br> 删去注释,修改 ''yes'' 为 ''no'': {| cellspacing="0" border="1" |- | '''<code><nowiki>PasswordAuthentication no</nowiki></code>''' |} <br> 保存文件,并重新启动sshd以使弱密码验证无效。 <br> https://help.ubuntu.com/community/IconsPage?action=AttachFile&do=get&target=IconDialog-Warning1.png '''警告''' : 第二次警告,使弱密码验证无效行为,和没有使用密匙登录,或丢失了你的密匙,你并被锁在你的机器外面了。当然,你仍然可以经过控制台登录机器上,但这可能不是那么容易,如果你的电脑是500哩远呢!你已被再次警告这样是不行的''!'' 此外,你可以改变允许使用基于密匙的登录的登录指令,到执行策略为以基于密码的登录。你可以做这个通过改变: {| cellspacing="0" border="1" |- | ''<code><nowiki>PermitRootLogin yes</nowiki></code>'' |} <br> to {| cellspacing="0" border="1" |- | '''<code><nowiki>PermitRootLogin without-password</nowiki></code>''' |} <br> 不要由于没有密码而被警告.这并不意味着一个人用root登陆的时候不需要提供密码,仅仅相当,这意味着没有人可以用密码认证的方法使用root来登陆,意味着用root登陆的时候可能只能使用公共密匙方式登陆。 ===将密匙临时存入内存=== 如果一时间需要频繁地进行远程连接,可以考虑将密匙存入内存,之后所有的连接都不需要密匙了<br> <code>ssh-agent ssh-add </code><br> 结束时,使用如下方法清除它<br> <code> ssh-add -D</code>
返回至
OpenSSH高级教程
。