Centos 7无法SSH远程连接及解决方法
小土豆Linux学习随笔
—— 清听凌雪慕忆
以前运维中,服务器或者虚拟机安装完Centos 7系统,配置网络设置后即可利用SSH远程。昨夜,怪哉,不知为何虚拟机中的Centos 7无法远程,排除网络原因,想爆了小脑壳儿,最终却忽略了SSH配置,尝试之后果然灵了,随即补充知识库,做随笔。
【工作环境】:远程主机(Windows 10)、虚拟机(Vmware Workstation),安装了CentOS7,通过SSH工具连接虚拟机中的CentOS7。
1、查看否安装SSH服务
- 查看系统是否安装openssh-server,可在终端中输入一下命令:
[root@localhost ~]# yum list installed | grep openssh-server# 或 查看ssh是否安装[root@localhost ~]# rpm -qa | grep ssh
rpm -qa|grep xxx 命令-qa代表query,a代表all;rpm -q ----查询一个包是否被安装rpm -qa ----列出所有被安装的rpm package| ----| 表示管道,上一条命令的输出,作为下一条命令参数(输入)。grep ----用于查找文件里符合条件的字符串。xxx ----要查询的名称
- 此处显示已经安装了 openssh-server,如果又没任何输出显示表示没有安装 openssh-server,可在终端中输入一下命令来进行安装openssh-server。
yum install openssh-server
2、查看sshd服务配置
-
找到 /etc/ssh/ 目录下的sshd服务配置文件 sshd_config。
[root@localhost ~]# cd /[root@localhost /]# cd /etc/ssh
-
用Vim编辑器或Gedit打开。
说明:SSH默认端口为22,在此处也可以修改为其他端口。
-
文件中,关于监听端口、监听地址前的 # 号去除(取消注释)。
-
开启允许远程登录。
- 开启使用用户名密码来作为连接验证。
- 保存文件,退出。
3、查看sshd服务
Centos7,要使用netstat的命令的话,需要安装net-tools后才可以使用。
# 安装netstat工具yum instatll net-tools –y
- 检查sshd服务是否已经开启。
# 开启ssh服务[root@localhost ssh]# sudo service sshd startStarting sshd (via systemctl): [ 确定 ]# 重启ssh服务[root@localhost ssh]# sudo service sshd restartRestarting sshd (via systemctl): [root@localhost ssh]# ss -ntp | grep 22
- 检查 sshd 服务是否已经开启,或检查 22 号端口是否开启监听。
#检查 sshd 服务是否已经开启[root@localhost ssh]# ps -e | grep sshd# 检查 22 号端口是否开启监听[root@localhost ssh]# netstat -an | grep 22# 或[root@localhost ssh]# netstat -anlpt | grep 22
- 检查 sshd服务状态
[root@localhost ~]# systemctl status sshd
4、测试
4.1 网络测试
- 在Vmware Workstation中,点击编辑=》虚拟网络编辑器,进入虚拟网络编辑器。确认虚拟机网络桥接外部网络(远程主机以太网2,ASIX AX88179A USB3.2网卡)。
- 查看虚拟机Centos 7系统ip网络配置信息,保证虚拟机Centos 7与远程主机在同一网段,子网掩码、默认网关均一致。
- 利用Ping测试查看虚拟机Centos 7与远程主机之间的连通性。
- 经测试,虚拟机Centos 7与远程主机ip网络配置、联通性正常。
4.2 远程测试
- 在SSH工具(此处使用的MobaXterm_Personal_12.3)中,新建连接,输入 CentOS 的 IP 地址、用户名、密码即可连接成功
5、设置开启自启动服务
- 为了避免每次开启 CentOS 时,都要手动开启 sshd 服务,可以将 sshd 服务添加至自启动列表中。
# 设置开机自启动[root@localhost ~]# systemctl enable sshd.service
- 查看是否开启sshd 服务自启动
[root@localhost ~]# systemctl list-unit-files | grep sshdanaconda-sshd.service staticsshd-keygen.service staticsshd.service enabledsshd@.service staticsshd.socket disabled[root@localhost ~]#
6、其他
# 查看ssh服务进程命令ps -ef|grep ssh# 设置ssh服务为开机启动命令:chkconfig sshd on # 设置ssh服务禁止开机启动命令chkconfig sshd off # 停止ssh服务命令service sshd stop # 查看ssh服务22端口是否启动命令netstat -antp | grep sshd
来源地址:https://blog.csdn.net/weixin_39137153/article/details/124621589