#rpm -qa |grep ssh 检查是否装了SSH包
没有的话yum install openssh-server
#chkconfig --list sshd 检查SSHD是否在本运行级别下设置为开机启动
#chkconfig --level 2345 sshd on 如果没设置启动就设置下.
#service sshd restart 重新启动
#netstat -antp |grep sshd 看是否启动了22端口.确认下.
#iptables -nL 看看是否放行了22口.
#setup---->防火墙设置 如果没放行就设置放行.
linux应用之openssh server安装及配置(centos)
安装OpenSSH Server
首先,我们搜索一下CentOS的软件库里面有没有已经定义好的SSH服务器包:
$ yum search ssh
... ...
openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2
openssh-askpass.x86_64 : A passphrase dialog for OpenSSH and X
openssh-clients.x86_64 : An open source SSH client applications
openssh-ldap.x86_64 : A LDAP support for open source SSH server daemon
openssh-server.x86_64 : An open source SSH server daemon
... ...
OpenSSH是Secure Shell的一个开源实现。从上面的搜索结果可以看到,CentOS的软件库里面已经有了OpenSSH的服务器包(openssh-server)和客户端包(openssh-clients),用yum install可以直接安装。
$ yum install openssh-server
OpenSSH Server安装完成后在/etc/init.d目录下应该会增加一个名为sshd的服务。可以参考《CentOS设置服务开机自动启动》的方式配置sshd服务开机自动启动。
$ chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
手动启动sshd服务,方便后面客户端的连接:
$ /etc/init.d/sshd start
用密码方式登录远程服务器
WIndows 7里面的SSH客户端软件我用的是XShell。打开XShell,新建连接,选择Password验证方式,输入用户名和密码,这样就可以连接到服务器了。
登录成功后的画面:
用RSA密钥登录远程服务器
OpenSSH允许使用RSA的方式登录服务器。RSA加密方式会有两个文件:一个是公钥文件,放在服务器$HOME/.ssh/authorized_keys文件里面;另外一个是私钥文件,放在客户端电脑上。
产生RSA密钥对,可以在服务器产生,也可以在客户端产生:
$ ssh-keygen
执行完毕后,会在$HOME/.ssh目录下多出来两个文件:id_rsa.pub(公钥文件)和id_rsa(私钥文件)。
将公钥文件追加到$HOME/.ssh/authorized_keys文件后面:
$ cat id_rsa.pub >> authorized_keys
将私钥文件下载到客户端电脑(可以使用SFTP方式,例如XFtp,WinSCP等很多软件),然后新建XShell连接,选择Public Key验证方式:
配置完毕,现在我们可以不用输入密码也能够连接到服务器了。
OpenSSH相关目录和文件
所有配置信息保存的目录:/etc/ssh
sshd服务配置文件:/etc/ssh/sshd_config
OpenSSH相关链接
《用OpenSSH构建SSH服务器》:安装O盆SSH服务器。
《用SSH客户端软件登录到服务器》:如何用PUTTY+RSA登陆远程服务器。
《CentOS Wiki - 保卫 OpenSSH》:OpenSSH的安全设置。
《Top 20 OpenSSH Server Best Security Practices》:20个需要遵守的SSH安全建议。
Centos7 远程登录端口22 设置
第一步
#查看本机是否安装SSH软件包
[root@localhost ~]# rpm -qa | grep ssh
openssh-server-6.6.1p1-12.el7_1.x86_64
openssh-clients-6.6.1p1-12.el7_1.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-6.6.1p1-12.el7_1.x86_64
#如果没有,则需要安装
[root@localhost /]# yum install openssh-server
第二步
#开启 SSH 服务
[root@localhost ~]# service sshd start
Redirecting to /bin/systemctl start sshd.service
#查看TCP 22端口是否打开
[root@localhost ~]# netstat -ntpl | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 17816/sshd
tcp6 0 0 :::22 :::* LISTEN 17816/sshd
第三步
#接下来便可使用终端仿真程序(例如putty)去登陆远程主机
如果你在客户端不能连接SSH服务的话,那可能是防火墙的原因,终端命令行中输入 iptables -nL 来看是否开放了ssh tcp 22 端口:
[root@localhost ~]# iptables -nL
你可以将防火墙中的规则条目清除掉:
[root@localhost ~]# iptables -F