之前有朋友问到下面这个问题:
其实这个问题只需将网络配置正确,就可以使用远程连接成功的。不清楚如何配置网络的可以看我这篇博客网络配置。
SSH协议和sshd服务程序
SSH(Secure Shell)是一款能够以安全的方式提供远程登录的协议,也是目前远程管理Linux的首选。
要想使用SSH协议来远程管理Linux系统,需要部署配置sshd服务程序。
使用sshd服务程序远程管理主机,有两种安全验证方式:
- 基于口令的验证——要账号密码才能登录
- 基于密钥的验证——直接登录,但是要有密钥
在RHEL7系统中,默认安装并启用了sshd服务程序,用户可以直接使用sshd服务程序来登录远程主机。
sshd服务程序的配置
sshd服务程序的主配置文件保存在/etc/ssh/sshd_config
,可通过命令cat -n /etc/ssh/sshd_config
查看sshd服务的主配置文件的内容。
主配置文件:保存着最主要配置信息的文件。
远程登录测试
1、用客户端主机192.168.10.20远程登录服务端主机192.168.10.10
首先保证这两台主机能够互相通信。若是ping不通,则无法进行远程登录。测试如下:
可以看到是无法使用ssh进行远程登录的。
由于192.168.10.10和192.168.10.20可以互相ping通,那么就可以使用ssh进行远程登录,测试如下:
可以看到,在客户端192.168.10.20上是可以远程登录服务端192.168.10.10的。
由于192.168.10.10是无法连接外网的,所以在windows上安装xshell远程客户端工具是无法连接的。
2、当服务器能够连接外网时,使用xshell工具进行远程连接。
测试机的网络连接模式为NAT模式,也可以是桥接模式,这里以NAT模式为例。从下图可以看到,服务器可以连接外网,也可以和物理机相互通信。
下面进行xshell工具的远程登录测试:
1、打开xshell,新建会话,输入名称和主机ip,点击确定
2、连接
3、输入用户名和密码,这里用户名是root
可以看到,已经连接成功了。
由于虚拟机是以dhcp方式获取ip地址的,每次连接的ip地址都不一样,可以用命令ifconfig
获取最新的ip地址再进行连接,当然,固定ip地址是不会出现这种情况的。
3、当服务器能够连接外网时,使用PuTTY配置工具进行远程连接。
使用的仍然是上面的服务器和物理机。