ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:595.15KB ,
资源ID:4795946      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4795946.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux下ssh服务配置.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

linux下ssh服务配置.docx

1、linux下ssh服务配置实现远程控制linux系统和实现linux系统文件共享telnet 不是很安全,那么我又需要以远程联机服务来操控我的 Linux 主机,那么应该怎么办呀!?最好的方法当然就是以较为安全的联机机制的方案来解决联机的问题!那么该如何解决这样的问题呢?这也不难啦,使用 SSH 即可。那么 SSH 是什么呢?他有什么特异功能?简单的来说,SSH 是 Secure SHell protocol 的简写,他可以经由将联机的封包加密的技术,来进行资料的传递,因此,资料当然就比较安全啰!这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell (r

2、cp, rlogin, rsh 等指令), talk 及 telnet 等联机模式。底下我们将先简介一下 SSH 的联机模式,来说明为什么 SSH 会比较安全呢!特别注意:这个 SSH 协议,在预设的状态中,本身就提供两个服务器功能:1. 一个就是类似 telnet 的远程联机使用 shell 的服务器,亦即是俗称的 ssh ; 2. 另一个就是类似 FTP 服务的 sftp-server !提供更安全的 FTP 服务。 (备注:联机加密技术简介: 基本上,加密的技术通常是藉由所谓的公钥与私钥亦即Public and Private keys来进行加密与解密的动作!如下图所示,当 SSH 激活

3、服务之后,会产生一支公钥,而身为个人计算机的你,在进行与 server 的联机时,可以藉由自己产生的私钥来提供 server 的联机之用,也可以直接藉由 server 提供的私钥来进行联机!这个与进行联机时选择的加密版本有关,这个等一下我们再提! 在上面的图标中,我们可以知道,当数据由 Server 端传送到 Client 端时,这些资料会先经过公钥, Public Key来进行加密的行为,所以,在传输的过程中,这些资料本身是经过加密的,因此,即使这些资料在途中被截取时,要破解这些加密的资料,还是得要花费上好长一段时间的。那么等这些经过公钥加密的资料传送到 Client 端之后,就可以藉由所谓

4、的私钥, Private Key来进行解密的动作。需要注意的是,这些公钥与私钥在每一部计算机上面都不一样,所以,你与 Server 的联机对其他人来说,都是很难去破解的呢!那么这些公钥与私钥是如何产生的呢?底下我们来谈一谈目前 SSH 的两种版本的联机模式啰!o SSH protocol version 1: 每一部主机都可以使用 RSA 加密方式来产生一个 1024-bit 的 RSA Key ,这个 RSA 的加密方式,主要就是用来产生公钥与私钥的演算方法!这个 version 1 的整个联机的加密步骤可以简单的这么看: 1. 当每次 SSH daemon (sshd) 激活时,就会产生一

5、支 768-bit 的公钥(或称为 server key)存放在 Server 中; 2. 若有 client 端的需求传送来时,那么 Server 就会将这一支公钥传给 client ,而 Client 藉由比对本身的 RSA 加密方式来确认这一支公钥; 3. 在 Client 接受这个 768-bit 的 server key 之后,Client 自己也会随机产生一支 256-bit 的私钥(host key),并且以加密的方式将 server key 与 host key 整合成一支完整的 Key ,并且将这支 Key 也传送给 server ; 4. 之后,Server 与 Clien

6、t 在这次的联机当中,就以这一支 1024-bit 的 Key 来进行资料的传递! 当然啦,因为 Client 端每次的 256-bit 的 Key 是随机取的,所以你这次的联机与下次的联机的 Key 就会不一样啦! o SSH protocol version 2: 与 version 1 不同的是,在 version 2 当中将不再产生 server key 了,所以,当 Client 端联机到 Server 端时,两者将藉由 Diffie-Hellman key 的演算方式来产生一个分享的 Key ,之后两者将藉由类似 Blowfish 的演算方式进行同步解密的动作!每一个 sshd 都

7、提供这两个版本的联机,而决定这两种模式联机的,就必需要在 client 端联机时选择联机的模式才能确认。目前预设情况下,会自动使用 version 2 的联机模式喔!而由于我们的联机资料中,经过了这个 Public 与 Private Key 的加密、解密动作,所以在中间的传送过程中,当然就比较安全的多了!)首先:激活 ssh 服务: 事实上,在我们使用的 Linux 系统当中,预设就已经含有 SSH 的所有需要的套件了!这包含了可以产生密码等协议的 OpenSSL 套件与 OpenSSH 套件,所以呢,要激活 SSH 真的是太简单了!就直接给他激活就是了!此外,在目前的 Linux Dist

8、ributions 当中,都是预设激活 SSH 的,所以一点都不麻烦,因为不用去设定,他就已经激活了!哇!真是爽快无论如何,我们还是得说一说这个激活的方式吧!直接激活就是以 SSH daemon ,简称为 sshd 来激活的,所以,手动可以这样激活:上面两种方式都可以直接手动激活 sshd 这个服务!然后使用 netstat -tl 看看能不能看到 ssh 的服务在监听呢!?如果出现了上面那一行黄色字体,就表示您的 SSH 已经正确的激活啰!这真是太简单了吧!没错,但是他就是这么简单那么我要如何在开机的时候就激活这个 sshd 呢?如果是 Red Hat 的系统,可以使用 ntsysv 这支程

9、序,而 Mandrake 可以使用 chkconfig 这个程序!至于 OpenLinux 则可以到 /etc/sysconfig/daemons 去看看喔!这个方式仅适合在已经有 OpenSSH 的 Linux Distributions 当中,如果以 Red Hat 6.x 为例,他并没有预设使用 SSH 怎么办?别担心,可以参考一下底下这个鸟哥之前写过的网页,有详细的说明使用 tarball 安装的步骤呢!使用 Tarbal 安装 SSH 以及升级 SSH 可能会遇到的问题说明需要注意的是, SSH 不但提供了 shell 给我们使用,亦即是 ssh protocol 的主要目的,同时亦

10、提供了一个较为安全的 FTP server ,亦即是 ssh-ftp server 给我们当成是 FTP 来使用!所以,这个 sshd 可以同时提供 shell 与 ftp 喔!而且都是架构在 port 22 上面的呢!所以,底下我们就来提一提,那么怎么样由 Client 端连接上 Server 端呢?同时,如何以 FTP 的服务来连接上 Server 并且使用 FTP 的功能呢? ssh 客户端联机: ssh, putty 由于 Linux 与 Windows 这两个客户端的 Client 联机软件并不一样,所以我们分为两个部分来说明:o Linux 客户端: 在 Linux 客户端方面,我

11、们主要以 ssh 进行一般联机,而已 sftp 进行 FTP 的使用联机!分别简介如下: 这里请特别留意的是,如果直接以 ssh hostname 来连接进入 hostname 这个主机时,则进入 hostname 这个主机的帐号名称将会是目前你所在的这个环境当中的使用者帐号!以上面为例,因为我是以 root 的身份在执行,所以如果我执行了 ssh host.domain.name 时,那么对方 host.domain.name 这部主机,就会以 root 的身份来让我进行密码确认的登入动作!因此,为了避免这样的麻烦,通常我都是以简单的 e-mail 的写法来登入远方的主机,例如ssh use

12、rhostname 即表示,我是以 user 这个帐号去登入 hostname 这部主机的意思。当然,也可以使用 -l username 这样的形式来书写!登入对方主机之后,其它的所有执行行为都跟在 Linux 主机内没有两样所以,真的是很简单吧! _ 这样就可以达到远程控管主机的目的了!此外,在预设的情况下, SSH 是允许你以 root 的身份登入喔!呵呵!更是爽快啦!此外,请特别留意的是,当您要连接到对方的主机时,如果是首次连接,那么 Server 会问你,你的联机的 Key 尚未被建立,要不要接受 Server 传来的 Key ,并建立起联机呢?呵呵!这个时候请务必要输入 yes 而不

13、是 y 或 Y,这样程序才会接受喔!那么如何使用 SSH FTP 的功能呢?也是很容易啦!就是使用 sftp 这支程序即可!而登入的方式与 ssh 相同,都是使用 sftp -l username hostname 或者直接以 sftp userhosname 来书写!执行之后会有底下的模样: 进入到 sftp 之后,那就跟在一般 FTP 模式下的操作方法没有两样了!底下我们就来谈一谈, sftp 这个接口下的使用指令吧! 就整体而言, sftp 在 Linux 底下,如果不考虑图形接口,那么他已经可以取代 FTP 了呢!因为所有的功能都已经涵盖啦!因此,在不考虑到图形接口的 FTP 软件时,

14、可以直接关掉 FTP 的服务,而改以 sftp-server 来提供 FTP 的服务吧! _o Windows 客户端: 在 Linux 底下已经有 ssh 了,如果在 Windows 底可以直接使用 putty 这种类型的联机软件,他也是免费的软件!直接从XX就能搜索到,都是免费使用的。好了,那么要取得哪几个程序呢?其实只要 putty.exe 及 psftp.exe 这两支程序就够了!分别用来登录 linux shell 及 FTP 。o putty: 1、直接在 Windows 底下执行,执行的图标有点像底下这样: 这个时候请注意,由于我们比较喜欢将固定的几个主机的IP记录下来,所以在这

15、里我们需要先进行一些基本的设定才行!在上图中,我们需要填写: (1)HostName(or IP address) 远程主机IP地址(2)Saved Sessions 为连接取个好记的名字, (3)选择 SSH 那个选项!以我的区域内网络为例,我可以写成这个模样:请千万记得,填写完毕之后,一定要按下右边的Save按键,这样你的设定才会被记录下来!接下来,我们要设定的是每次登入的时候,都会进行记录的项目,所以,你可以在左边的画面上面按下Logging然后将右边的Always append to the end of it,这样才不会每次登入的时候,系统都要问你一次,是否需要记录! 2、接着下来,

16、我们还可以调整整个 putty 的屏幕大小!以下图为例,我设定我的登入画面为 40 行与 100 个字符!这样的画面比起传统的 24 * 80 要大的多,看起来也比较舒服就是了,1000 表示我的滚动条有 1000 行的纪录,可以方便我往前查询! 调整完了屏幕的 3、调整完大小之后,再来这是最重要的:你要以第几个 SSH version 进入?!前面说过,我们预设是以 version2 来登入的,所以这里我们可以调整为 2 那个项目!这样每次登入都会以 version 2 的模式登入主机了! 4、已经都设定完毕了,请回到Session的设定里面,再按下一次Save,这个时候在中间的大框框就会出

17、现你输入的记录名称,然后,以后要登入 SSH 主机时,就直接给他点两下 test.linux.org 那个(就是你刚刚自行设定的纪录名称),就可以进入你所点选的主机了!PUTTY设置完毕:整个 putty 大致上的流程就是这样!如此一来,您就可以在 Windows 上面以 SSH 的协议,登入远程的 Linux 主机噜!粉方便吧! _ !如果还要其它的设定,那么就直接修改 Saved Sessions 与 HostName 这两个项目,然后再次给他 Save ,嘿嘿!就又多一个设定值了!而且还是跟刚刚的设定值相同!很容易设定的啦!设置好putty之后,别忘记设置linux系统的sshd服务,/

18、etc/ssh/sshd_config 是一个全部注释得文件,去掉注释PermitRootLogin = yes就可以 用 root 登陆了。o psftp: 这一支程序的重点则是在于以 sftp 联机上 Server 。联机的方式可以直接点选 psftp 这个档案,让他直接激活,则会出现下面的图样: 这个时候可以填入你要连接上去的主机名称,例如我的区域内网络 test.linux.org 这个主机: 呵呵!这样就登入主机啦!很简单吧!然后其它的使用方式跟前面提到的 sftp 一样哩!加油的使用吧!详细设定 sshd 服务器 基本上,所有的 ssh 相关设定都放在 /etc/ssh/sshd_

19、config 里面!不过,每个 Linux distribution 的预设设定都不太相同,所以我们有必要来了解一下整个设定值的意义为何才好!基本上,在你的系统中,除非有必要,否则请不要更改 /etc/ssh/sshd_config 这个档案的设定值!因为预设的情况下通常都是最严密的 SSH 保护了,因此,可以不需要更动他!上面的说明仅是在让大家了解每个细项的一些基本内容而已!需要注意的是最后一项,如果您不愿意开放 SFTP 的话,将最后一行批注掉即可!另外,如果你修改过上面这个档案(/etc/ssh/sshd_config),那么就必需要重新激活一次 sshd 这个 daemon 才行!亦即

20、是: /etc/rc.d/init.d/sshd restart 制作不用密码可立即登入的 ssh 用户: 咦!既然 SSH 可以使用 Key 来比对资料,并且提供使用者资料的加密功能,那么可不可能利用这个 Key 就提供使用者自己进入主机,而不需要输入密码呢?呵呵!好主意!我们可以将 Client 产生的 Key 给他拷贝到 Server 当中,所以,以后 Client 登入 Server 时,由于两者在 SSH 要联机的讯号传递中,就已经比对过 Key 了,因此,可以立即进入数据传输接口中,而不需要再输入密码呢!在实作上的步骤可以是:1. 首先,先在 Client 上面建立 Public

21、Key 跟 Private Key 这两把钥匙,利用的指令为 ssh-keygen 这个命令; 2. 再来,将 Private Key 放在 Client 上面的家目录,亦即 $HOME/.ssh/ ,并且修改权限为仅有该 User 可读的状态; 3. 最后,将那把 Public Key 放在任何一个你想要用来登入的主机的 Server 端的某 User 的家目录内之 .ssh/ 里面的认证档案即可完成整个程序。 说是好象很困难的样子,其实步骤真的很简单,我们依序来进行作业好了! 假设前提: a. Server 部分为 test.linux.org 这部 192.168.0.2 的主机,欲使用

22、的 User 为 test 这个帐号;b. Client 部分为 test2.linux.org 这部 192.168.0.100 PC 的 test2 这个帐号,他要用来登入 192.168.0.2 这部主机的 test 这个帐号。也就是说,我在 192.168.0.100 这部机器的身份为 test2 ,但是我想以 test 的身份登入 192.168.0.2 这部主机,并且希望不要使用密码!这样可以了解大前提了吗?好了,我们就一步一步来作吧!1. 在 Client 端建立 Public 与 Private Key : 建立的方法真的是简单到不行!直接在 192.168.0.100 这个

23、Client 上面,以 test2 这个帐号,使用 ssh-keygen 这个指令来进行 Key 的产生即可!不过,需要注意的是, version 1 与 version 2 使用的密码演算方式不同,此外, version 2 提供两个密码演算的方法,我们这里仅针对 version 2 的 RSA 这个演算方法进行说明! 请注意上面喔,我的身份是 test2 ,所以当我执行 ssh-keygen 时,才会在我的家目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys ,分别是私钥(id_rsa)与公钥(id_rsa.pub)。另外一个要特别注意的就是那个 id_rsa 的档案权限啦!他

24、必须要是 -rw- 才好!否则内容被人家知道了,那么你的 Keys 不就有可能外泄了?所以请特别留意他的权限喔!那么那个 id_rsa.pub 则是公钥!这个档案必须要被放置到 Server 端才行! 2. 在 Client 端放置私钥: 在预设的条件中,我们的私钥必需要放置在家目录底下的 .ssh 里面,那么如果是 version 2 的 RSA 算法,就需要放置在 $HOME/.ssh/id_rsa 当中!咦!刚好使用 ssh-keygen 就是已经产生在这个目录下了,所以自然就不需要去调整他了!以我的 test2.linux.org 来看,那么我的档案就会放置在 /home/test2/

25、.ssh/id_rsa 这个档案就是私钥啦! 3. 在 Server 端放置可以登入的公钥: 既然我们要让 test2 可以以 test 这个帐号登入 test.linux.org 这部主机,那么这部主机自然需要保有 test2 的 public key 啰!对的!所以我们必需要将 Client 端建立的 id_rsa.pub 档案给他拷贝到 test.linux.org 里头的 test 这个使用者的家目录之下!那么如果你还记得上面的 sshd_config 这个档案的设定的话,那么应该就记得AuthorizedKeysFile这个设定吧!是的!在被登入的主机的某个帐号,他的公钥放置的文件名

26、称预设就是这个项目所记载的!而他预设的档名就是 authorized_keys 这个文件名称啦!那么应该怎么做呢? 请注意上面的机器!由于 authorized_keys 可以保存相当多的公钥内容,因此,可以使用 的方式来将 Client 端的公钥新增到该档案内!呵呵!做完这一步一后,未来 test2 就可以直接在 test2.linux.org 以 这样就可以不需要输入密码啰!但是请注意, test 不能以 test2 登入 test2.linux.org 喔!很简单的步骤吧!这样一来,就可以不需密码的手续了!无论如何,你要记得的是, Server 需要有的是 Public Keys ,而

27、Client 端的则是 Private Keys !则未来,当你还想要登入其它的主机时,只要将你的 public key ( 就是 id_rsa.pub 这个档案 )给他 copy 到其它主机上面去,并且新增到某帐号的 .ssh/authorized_keys 这个档案中!哈哈!成功! 安全设定: 好了,那么关于安全的设定方面,有没有什么值得注意的呢?当然是有啦!我们可以先建议几个项目吧!分别可以由:o /etc/ssh/sshd_config o /etc/hosts.allow, /etc/hosts.deny o iptables 这三方面来着手进行!底下我们就说一说吧! /etc/ss

28、h/sshd_config 一般而言,这个档案的预设项目就已经很完备了!所以,事实上是不太需要更动他的!但是,如果您有些使用者方面的顾虑,那么可以这样修正一些问题呢!o 禁止 root 的登入:任何时候,不许 root 以远程联机的方式登入,都会是一个好主意!所以这里蛮建议大家直接将 root 的登入权限拿掉吧!所以,可以修改 /etc/ssh/sshd_config 这个档案的内容为: 如此一来,以后 root 就不能以 ssh 登入啰!这样还是比较好的啦! _ o 不许某个群组登入:有些特殊情况中,我们想要让使用者只能使用 sendmail, pop3, ftp 等,但是不希望他可以远程联

29、机进来,那么你可以这样做: 1. 将这些使用者都归纳在某一个特殊群组之下,例如 nossh 这个群组好了; 2. 在 /etc/ssh/sshd_config 当中加入这一行:DenyGroups nossh 3. 重新激活 sshd : /etc/rc.d/init.d/sshd restart 这样就OK啦! o 不许某个使用者登入:跟 DenyGroups 类似,使用 DenyUsers 即可!参考 sshd_config 的设定喔! /etc/hosts.allow 及 /etc/hosts.deny : 这东西也是很简单的啦!直接参考: 简易防火墙架设 一文啰!当然,简单的方法就是: iptables 多几层保护也很好的!所以也可以使用 iptables 喔!参考:简易防火墙架设 一文啰!基本上, SSH 还蛮安全的,只要取消 root 的登入权限,那么问题应该就会比较小一点啦!所以,虽然可以不用设定 iptables ,但是建议针对几个网域设定一下 /etc/hosts.allow 与 /etc/hosts.deny !加油啰!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1