构建ssh远程登录系统

 

ssh 是标准的网络协议,主要用于实现字符界面的远程登陆管理,以及远程文件复制的功能。通过网络传输的数据进行了加密处理,提供了更好的安全性。

下面我们将学习Openssh远程登录服务的基本配置与管理

一:用户的远程登录控制

服务配置文件默认位于/etc/ssh/sshd_config 适当调整文件中的配置项可以增强远程登录服务的安全性,修改配置文件后要从新加载“service sshd rekoad ”命令使新的配置生效

例如 在ssh_config文件中

Prot 2234

ListenAddress 172.16.107.3

意思就是修改监听的端口号为2234并且限制只在上面这个ip上提供服务 注意默认端口为22

 

PermitRootLogin no

PermitEmptyPasswords no

意思就是限制root用户与密码为空的用户远程登录

 

DenyUsers lisi zhangsan

拒绝zhangsan lisi 远程登录系统 其他均允许AllowUsers wangwu admin@172.16.107.9

允许wangwu用户远程登录 允许用户admin从主机172.16.107.9登录,其他拒绝,注意不能同时使用AllowUsers与DenyUsers

 

二:身份验证模式

一般采用密码验证与密钥对验证

密码验证:只需要使用服务器中系统用户的账户名称与密码即可通过验证,

密钥对验证:提供配对的密钥才能通过验证。客户端的用户自己创建一对密钥文件即公要与私钥,须将公钥通过scp或者sftp传输到需要访问的服务器上。当远程登录服务器时,系统结合公钥文件进行加密/解密关联验证,增强了用户登录及数据传递过程的安全性。

下面着重介绍构建密钥对验证的ssh登录提体系

1:在客户端创建密钥对

在客户端使用ssh-keygen命令工具为当前用户创建密钥对文件,可以使用的加密算法为RSA与DSA

例如以zhangsan用户登录到客户端主机建立基于RSA算法的密钥对。

[zhangsan@localhost ~]$ssh-keygen -t rsa

Enter file in which to save the key (/home/zhnagsan/.ssh/id_rsa):  #出现这里时直接回车

Enter passphrase (empty for no passphrase): #此处设置密码短语即是保护私钥文件的密码

[zhangsan@localhost ~]$ ls -lh ~/.ssh/  $此时此目录下将会有id_rsa与id_rsa.pub两个文件出现,前者为私钥后者为公钥,

 

2:上传公钥文件给服务器即你所要登录的ssh服务器

将公钥上传到服务器的./ssh/authorized_keys里面,注意这里一般用scp将文件上传到./ssh目录下在用cat id_rsa.pub >>authorized_keys里面

3:调整服务器设置

[root@localhost ~]$vi /etc/ssh/sshd_config

PasswordAuthentication no

PubkeyAuthentication yes

AuthorizedKeysFile   ./ssh/authorized_keys

[root@localhost ~]$ service sshd restart

上面是修改sshd_config配置文件 禁用密码验证,启用密钥对验证

这是就可以在客户端用ssh远程登录服务器了

[zhangsan@localhost ~]$ ssh root@服务ip #回车以后会提示你输入预先设置的密码短语就OK了

 

posted @ 2012-12-07 18:21  飞花残月沧海叫  阅读(357)  评论(0)    收藏  举报