Linux中ssh server架设基础及方法
1,ssh server简介 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
2,ssh 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用户登陆,第一次会遇到一个问答,意思是问你要不要把密码保存一下,在此过程中密码是加密的,然后键入密码。正常情况下登陆成功
3,ssh 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 警告信息 |