Linux中ssh server架设基础及方法

 1ssh server简介
SSH Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
2ssh server 安装
[root@localhost ~]# rpm –qa|grep openssh
默认的的情况下是安装好的,你可以看见有四个openssh RPM包,当染还需要openssl RPM包的安装:
  [root@localhost ~]# rpm –ivh openssl
正常安装后,那么就来开启服务看看:
[root@localhost ~]#/etc/rc.d/init.d/sshd  start
[root@localhost ~]#ps –eaf|grep sshd  ( tcp-22)
[root@localhost ~]#netstat –an|grep :22
也就是说ssh使用的是tcp-22端口,在RHEL5中默认情况下的防火墙的tcp-22是开放的。
就可以来连接:
可以用ssh 客户端,
键入ip 地址,使用root用户登陆,第一次会遇到一个问答,意思是问你要不要把密码保存一下,在此过程中密码是加密的,然后键入密码。正常情况下登陆成功
 
3ssh server 配置
   其主要文件在/etc/ssh/sshd_config
[root@localhost ~]#cd /etc/ssh
[root@localhost ~]#vi /etc/ssh/sshd_config
 
一起来看看配置的文件内容:
#Port 22                                                         SSH 默认的坚挺端口
#Protocol 2,1                                               
选择SSH的版本
#ListenAddress 0.0.0.0                               
监听的IP地址
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key                        SSH VERSION 1
使用的密钥       
# HostKeys for protocol version 2               
#HostKey /etc/ssh/ssh_host_rsa_key                SSH VERSION 2
使用的RSA私钥
#HostKey /etc/ssh/ssh_host_dsa_key                SSH VAESION 2
使用的 DSA私钥

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 3600
版本一的密钥从新生成时间间隔
#ServerKeyBits 768                                                SERVER_KEY
的长度

# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH        SSH
登陆系统 记录信息  记录的位置 默认是/VAR/LOG/SECUER
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:
#UserLogin no
SSH 下不接受LOGIN 程序登陆

#LoginGraceTime 120                               
#PermitRootLogin yes                    
是否让ROOT用户登陆
#StrictModes yes                             
用户的HOST_KEY 改面的时候不让登陆

#RSAAuthentication yes                    
是否使用纯的RAS认证 针对VERSION 1
#PubkeyAuthentication yes               
是否使用PUBLIC_KEY 针对VERSION 2
#AuthorizedKeysFile        .ssh/authorized_keys         
使用不需要密码登陆的的帐号时帐号的存放文件所在的文件名

# rhosts authentication should not be used
#RhostsAuthentication no       
本机系统不使用 RHOSTS 使用RHOSTS 不安全
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes                       
是否取消上面的认证方式 当然选是
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no       
不使用针对 VERSION 1 使用RHOSTS 文件在/ETC/HOSTS.EQUIV 配合RAS进行认证 不建议使用
# similar for protocol version 2
#HostbasedAuthentication no   
针对VERSION 2 也是上面的功能
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
是否忽略主目录的 ~/.ssh/known_hosts文件记录

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes   
是否需要密码验证
#PermitEmptyPasswords no               
是否允许空密码登陆

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
挑战任何密码验证

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

#AFSTokenPassing no

# Kerberos TGT Passing only works with the AFS kaserver
#KerberosTgtPassing no

# Set this to 'yes' to enable PAM keyboard-interactive authentication
# Warning: enabling this may bypass the setting of 'PasswordAuthentication'
#PAMAuthenticationViaKbdInt no

#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes               
是否显示上次登陆信息
#PrintLastLog yes       
显示上次登陆信息
#KeepAlive yes               
发送连接信息
#UseLogin no               
#UsePrivilegeSeparation yes       
用户权限设置
#PermitUserEnvironment no       
#Compression yes

#MaxStartups 10                               
连接的画面的设置 从连接就是登陆画面
# no default banner path
#Banner /some/path
#VerifyReverseMapping no

# override default of no subsystems
Subsystem        sftp        /usr/libexec/openssh/sftp-server
DenyUsers *
设置受阻的用户 代表全部用户
DenyUsers test
DenyGroups test


SSH
自动登陆设置
1设置CLIENT端建立PUBLIC_KEY PRIVATE_KEY
[TEST@TEST TEST] SSH-KEYGEN –T RSA  //-T
说明使用RSA 加密算法
生成密钥的文件夹 $HOME/.SSH/ID_RSA
上传PUBLIC_KEY SERVER
SFTP TEST@TEST
LCD /HOME/.SSH
PUT ID_RSA.PUB
EXIT
登陆到SERVER
执行命令
[TEST@TEST SSH] CAT ../ID_RSA.PUB >> AUTHORIZED_KEYS
相关的安全设置
/ETC/SSH/SSHD_CONFIG
/ETC/HOSTS.ALLOW
/ETC/HOSTS.DENY
IPTABLES

编辑/ETC/HOSTS.DENY
SSHD : ALL :SPAWN (/BIN/ECHO SECURITY NOTICE FROM HOST `/BIN/HOSTNAME` ;\
/BIN/ECHO ; /USR/SBIN/SAFE_FINGER @%H )|\
/BIN/MAIL –S “%d -%H SECURITY” ROOT@LOCALHOST &\
:TWIST (/BIN/ECHO –E “\N\nWARNING connection not allowed. You attempt has been logged. \n\n\n  
警告信息