centos SSH配置详解

时间:2024-11-03 19:36:44

基本概念 
 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

centos SSH配置详解

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

3、 保存密钥

centos SSH配置详解

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 
 centos SSH配置详解
7、 重启sshd服务 
  [root@server ~]# /etc/init.d/sshd restart

8、 客户端用putty来登录ssh服务器 
 
centos SSH配置详解

centos SSH配置详解

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