



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux SSH配置和禁止Root远程登陆设置2010-01-07 13:161、service sshd restart 或者 /etc/init.d/sshd restart(ssh服务器重启) 一、修改vi /etc/ssh/sshd_config 文件1、修改默认端口:默认Port为22,并且已经注释掉了;修改是把注释去掉,并修改成其它的端口。2、禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了;修改是把注释去掉,并改成no。3、PermitEmptyPasswords no不允许空密码用户login二、ssh的公钥认证配置:修改vi /etc/ssh/sshd_config 文件RSAAuthentication yes # 启用 RSA 认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)PubkeyAuthentication yes # 启用公钥认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)PasswordAuthentication no # 禁止密码认证(改为no,默认为yes是用密码认证)StrictModes no #修改为no,默认为yes.如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。)之后重新启动ssh服务:/etc/init.d/ssh restart生成登陆公钥与私钥,rootusousou192_168_0_21 ssh# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): /home/linden.guo/.ssh/id_rsa (生成私钥与公钥存放位置)Enter passphrase (empty for no passphrase): 输入密码Enter same passphrase again:再次输入密码Your identification has been saved in /home/linden.guo/.ssh/id_rsa. (生成的私钥)Your public key has been saved in /home/linden.guo/.ssh/id_rsa.pub. (生成的公钥)The key fingerprint is:76:04:4d:44:25:37:0f:b1:a5:b7:6e:63:d4:97:22:6b rootusousou192_168_0_21将生成的公钥匙id_rsa.pub传到要登陆的服务器上并追加到authorized_keys文件中,放到用户目录的.ssh中 cat id_rsa.pub .ssh/authorized_keys (如果没有authorized_keys,可直接将id_rsa.pub重命名为authorized_keys,自己认为,没有测试过)使用putty连接ssh服务器。为了使用公钥认证,我们需要同时下载 puttygen 这个工具来生成 putty 所使用的密钥如果你按照上面的介绍,在Linux下生成了公钥和密钥的话,那么需要利用 puttygen 将密钥转换成 putty 使用的格式。将Linux下生成的密钥 id_rsa 复制到 Windows 下。启动 puttygen,然后单击Load按钮,选择文件类型为所有文件,然后选择 id_rsa,打开。若在生成密钥时输入了密码,则打开时需要输入该密码(用linux生成密钥时输入的密码)。之后就可以在 puttygen 的主界面上单击 Save private key,保存成 putty 格式的密钥。最好确定用户目录下的.ssh文件夹对于拥有者有读写执行的权限,最低要有执行权限,如700或者100;authorized_keys文件中有读的权限注:AuthorizedKeysFile .ssh/authorized_keys(认证文件的目录与公钥文件名称,可以修改,并且相应目录也要修改,如AuthorizedKeysFile .sshd/linden.guo_keys,需要在用户目录下建立.sshd文件夹,将linden.guo_keys文件放到下面)为什么要使用公钥认证通常,通过ssh登录远程服务器时,使用密码认证,分别输入用户名和密码,两者满足一定规则就可以登录。但是密码认证有以下的缺点:用户无法设置空密码(即使系统允许空密码,也会十分危险) 密码容易被人偷窥或猜到 服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码,导致密码容易泄露,而且修改密码时必须通知所有人而使用公钥认证则可以解决上述问题。公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦 多个使用者可以通过各自的密钥登录到系统上的同一个用户公钥认证的原理所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(public key),任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。ssh 的公钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。为了说明方便,以下将使用这些符号。Ac 客户端公钥 Bc 客户端密钥 As 服务器公钥 Bs 服务器密钥 在认证之前,客户端需要通过某种方法将公钥 Ac 登录到服务器上。认证过程分为两个步骤。会话密钥(session key)生成 客户端请求连接服务器,服务器将 As 发送给客户端。 服务器生成会话ID(session id),设为 p,发送给客户端。 客户端生成会话密钥(session key),设为 q,并计算 r = p xor q。 客户端将 r 用 As 进行加密,结果发送给服务器。 服务器用 Bs 进行解密,获得 r。 服务器进行 r xor p 的运算,获得 q。 至此服务器和客户端都知道了会话密钥q,以后的传输都将被 q 加密。认证 服务器生成随机数 x,并用 Ac 加密后生成结果 S(x),发送给客户端 客户端使用 Bc 解密 S(x) 得到 x 客户端计算 q + x 的 md5 值 n(q+x),q为上一步得到的会话密钥 服务器计算 q + x 的 md5 值 m(q+x) 客户端将 n(q+x) 发送给服务器 服务器比较 m(q+x) 和 n(q+x),两者相同则认证成功服务器端设置使用公钥认证需要对服务器进行一些设置。修改 /etc/sshd_config 的以下配置。RSAAuthentication yes # 启用 RSA 认证PubkeyAuthentication yes # 启用公钥认证PasswordAuthentication no # 禁止密码认证StrictModes no #修改为no,默认为yes.如果不修改用key登陆是出现server refused our key然后重新启动 sshd。/etc/init.d/ssh restart客户端设置Linux假设客户端的用户 charlee 要以 guest 用户登录到服务器上。首先在客户端执行下面的命令。charleeclient:$ ssh-keygen -t rsaGenerating public/private rsa1 key pair.Enter file in which to save the key (/home/charlee/.ssh/id_rsa):Enterpassphrase (empty for no passphrase): 输入密码Enter same passphrase again: 再次输入密码Your identification has been sabed in /home/charlee/.ssh/id_rsaYour public key has been saved in /home/charlee/.ssh/id_rsa.pub生成的文件保存在主目录的 .ssh 目录下,id_rsa为客户端密钥,id_rsa.pub 为客户端公钥。之后,通过 U 盘等方式将公钥 id_rsa.pub 复制到服务器上,并执行下列命令。guestserver:$ cat id_rsa.pub .ssh/authorized_keys其中 id_rsa.pub 是客户端的用户 charlee 的公钥。这样在客户端即可通过以下的命令连接服务器。charleeclient:$ ssh -l guest server若不想每次登录服务器时都输入密码,可以先执行下列命令:charleeclient:$ ssh-addEnter passphrase for /home/charlee/.ssh/id_rsa: 输入密码Identity added: /home/charlee/.ssh/id_rsa (/home/charlee/.ssh/id_rsa)以后登录服务器就不需要输入密码了。Windows假设我们使用putty连接ssh服务器。为了使用公钥认证,我们需要同时下载 puttygen 这个工具来生成 putty 所使用的密钥。使用Linux下生成的公钥和密钥的情况如果你按照上面的介绍,在Linux下生成了公钥和密钥的话,那么需要利用 puttygen 将密钥转换成 putty 使用的格式。将Linux下生成的密钥 id_rsa 复制到 Windows 下。启动 puttygen,然后单击Load按钮,选择文件类型为所有文件,然后选择 id_rsa,打开。若在生成密钥时输入了密码,则打开时需要输入该密码。之后就可以在 puttygen 的主界面上单击 Save private key,保存成 putty 格式的密钥。使用puttygen生成公钥和密钥你也可以利用 puttygen 直接生成公钥和密钥。打开 puttygen,然后在画面下方的 Parameters 栏选择加密算法和加密长度(一般取默认值即可),最后单击 Generate。画面上会出现一个进度条,在界面上随意移动鼠标以生成随机数。最后提示生成结束,单击 Save private key 按钮保存密钥。最后将上方的Public key for pasting into OpenSSH authorized_keys file栏中的内容复制到 Linux 下用户主目录下的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省“BEST合作体”2024-2025学年高一下学期7月期末地理试题(解析版)
- 2025江西吉安市青原区两山人力资源服务有限公司招聘临聘人员1人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 综合型企业社会责任报告模板
- 合同管理流程与电子签名工具
- 保证提升效率与效果服务承诺书(9篇)
- 2025广东依顿电子科技股份有限公司招聘HRBP岗人员考前自测高频考点模拟试题及答案详解一套
- 2025河南郑州市新密市国有资产经营有限公司下属文旅板块子公司招聘模拟试卷及答案详解(夺冠系列)
- 专业服务行业责任保证承诺书(3篇)
- 建筑施工工程质量终身责任承诺书9篇范文
- 2025年河北唐山东方学校小学部招聘教师考前自测高频考点模拟试题及答案详解参考
- 1.2.2单细胞生物(教学设计)生物苏教版2024七年级上册
- 2025-2026学年大象版(2024)小学科学三年级上册(全册)教学设计(附目录P208)
- 艾媒咨询2025年中国新式茶饮大数据研究及消费行为调查数据
- 雷达式水位计安装单元工程质量验收评定表
- 招商银行笔试题库及参考答案
- 挂靠公司走帐协议书范本
- 2025年中国电信集团校园招聘笔试模拟试题集
- 全屋定制经销商合同协议
- 2024年仁怀市辅警真题
- 知道智慧树有礼同行伴礼一生-大学生礼仪修养满分测试答案
- 2025-2026学年苏科版(2023)小学劳动技术四年级上册教学计划及进度表
评论
0/150
提交评论