首页 > 代码库 > centos SSH配置详解

centos SSH配置详解

基本概念 
 linux自带的ssh为OpenSSH

ssh协议提供两种用户认证方式 
  1、 基于口令的安全认证:使用用户名、密码的方式对登录用户进行认证 

  2、 基于密钥的安全认证:使用公钥和私钥对的方式对登录用户进行认证

OpenSSH的rpm包由四部分组成(默认已安装) 
  openssh-4.3p2-26.el5.i386.rpm(一定要先安装这个rpm包) 

  openssh-server-4.3p2-26.el5.i386.rpm 

  openssh-clients-4.3p2-26.el5.i386.rpm 
  openssh-askpass-4.3p2-26.el5.i386.rpm (在图形界面下使用ssh服务时才需要)

openssh的主配置文件为: 
  /etc/ssh/sshd_config  #ssh服务器的配置文件 

  /etc/ssh/ssh_config  #ssh客户端的配置文件 

openssh支持使用scp(加密的拷贝)和sftp(加密的ftp)等客户端程序进行远程主机
的文件复制 

 

OpenSSH服务器端配置实例1:基于用户名密码的登录方式 
1、vi /etc/ssh/sshd_config (以下列出的是常用配置) 

#Port 22  #定义ssh监听的端口号,默认为22 
#Protocol 2,1 #设置使用ssh协议的顺序,先使用ssh2,如果不成功再使用ssh 

Protocol 2  #设置只使用ssh2协议 
#ListenAddress 0.0.0.0  #设置ssh服务器绑定的ip地址,默认为所有可用的ip地址 

#PermitRootLogin yes #设置是否允许root登录,默认允许 
#PermitEmptyPasswords no #设置是否允许空密码的客户登录,默认为禁止 
PasswordAuthentication yes #设置是否使用口令认证方式,如果要使用公钥认证方式,可将其设置为no 

2、重启ssh服务 

   /etc/init.d/sshd restart 
3、如果启用了iptables,则需要添加如下语句来开放ssh 

   iptables –I INPUT –p tcp –dport 22 –j ACCEPT

     iptables –I OUTPUT –p tcp –sport 22 –j ACCEPT   
3、windows客户端登录  

  使用xshell、putty、securecrt等客户端软件都可以登录 

4、linux客户端登录  

  1、安装openssh-clients (默认已安装)  

  2、ssh命令的基本使用  

    ssh username@sshserver  

      ssh –l username sshserver 

技术分享

OpenSSH服务器端配置实例2:基于公钥认证的ssh登录 
1、 获取puttygen程序 
可以使用puttygen程序来生成密钥对,下载地址为
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html  
2、 产生密钥 
 
      技术分享

 

3、 保存密钥 

技术分享


4、 传输公钥文件到ssh服务器 
  公钥文件是可以公开给所有用户的,无需考虑安全问题,可以使用ftp、u盘都可以 

5、 转换公钥文件格式 
  由于puttygen产生的公钥文件格式与openssh的格式不兼容,因此还要在linux中使用openssh自带的ssh-keygen对其进行转换,openssh存放公钥的目录默认为/root/.ssh,如果没有这个目录,可以手工创建 

  [root@server ~]# mkdir .ssh 
  [root@server ~]# ssh-keygen -i -f wtcentoskey.pub > /root/.ssh/authorized_keys  
如果有多个公钥需要添加,可使用下面的命令将公钥文件追加到authorized_keys中 

[root@server ~]# ssh-keygen -i -f abcxyz.pub >> /root/.ssh/authorized_keys 

6、 在ssh服务器上启用公钥认证 
[root@server ~]# vi /etc/ssh/sshd_config 
 技术分享
7、 重启sshd服务 
  [root@server ~]# /etc/init.d/sshd restart 

8、 客户端用putty来登录ssh服务器 
 
技术分享

技术分享

 

Putty成功的连接到ssh服务器后会出现如下的界面 
 
 技术分享
附:如果使用xshell则更加简单,因为xshell生成的密钥对和openssh是完全兼容的,无需转换,只需要将公钥文件追加到/root/.ssh/authorized_keys中即可,如下: cat /root/wtxshell.pub >> /root/.ssh/authorized_keys

centos SSH配置详解