ssh连接到虚拟机的一般方法

ssh连接到虚拟机的一般方法,第1张

最近突然一下想研究(折腾)一下freebsd,于是在vbox里装了一个freebsd,没有图形界面的 *** 作系统总是吃很少的资源。但是

于是我自然想到用自己的终端通过ssh连接到虚拟机,总有一些想尝试linux的同学,徘徊在双系统和虚拟机中。我的建议是,装服务器版的Linux发行版到虚拟机中,然后通过xshell登陆到自己的虚拟机,这才是最专业的做法 :)。

首先装机,一般服务器版都是没有图形界面的,分配128m内存足够了,我给我的分配了512m的内存(因为我有的时候利用ports直接源码安装,即使是这样也足够了)。

首先在虚拟机中ping一下看连上网没有,如果没有连上网,ssh无法访问:)

vbox创建时的网络选取的是NAT连接(网络地址转换),所以我们只需要改变端口就可以了,我们可以将自己主机的端口映射到22端口上(ssh默认22端口),这样我们可以访问localhost就能连上虚拟机了。

如果你的2222端口没有被占用的化,这样就设置好了。

然后设置服务器的sshd服务,一般都会自带,如果没有的话可以用包管理器安装 然后启动的服务

下面是我的sshd_config的配置,可以进行适当修改

然后输入ssh -p 2222 YOURNAME@127001
YOURNAME 指的是你自己的用户名,这样就可以登陆上去了cheers~

最近需要从外网通过ssh访问内网主机,但是又不具备给路由器添加端口映射的权限,于是用到了ssh的远程端口转发。于是打算在这里整理一下ssh常用的功能和用法。

但由于细节特别多,一次肯定写不完,因此有些细节会暂时省略,待日后补上,特别是截图。

这是最基本的了,也没什么好说的。

其中-p用来指定端口(如果端口不是默认的22的话)

为了保证安全,可以在把本地产生的密钥对的公钥文件传到服务端,这样登陆的时候就不需要输入用户名/密码了。当然如果产生密钥对的时候还使用了口令,这时还是需要输入口令,这可以用ssh-agent来解决~~越来越懒了。当然如果你想在某个服务端再登陆到另一个服务端,那么可以开启ssh-agent的转发功能~~真是懒到家了。

这里分为四种,本地转发,远程转发,动态转发和X转发

先说明常见的参数

这句命令需要在本地输入,意思就是在本地打开local_port端口监听,把发送到这个端口的TCP数据包经过tunnel_host之后,发送到remote_host的remote_port上。

比如我想把发送到本地10000端口的tcp数据包经过1111转发到1234的20000端口,那么可以这么写:

如果tunnel_host和remote_host相同,那么就相当于直接发送到remote_host了,不经过另一台机器。

这句命令需要在本地输入,意思是在remote_host(在这里remote_host == tunnel_host)上打开监听remote_port,把传给remote_port的tcp数据转发到本地主机的local_port。

按道理来讲,remote_host应该可以不等于tunnel_host,但是我没有这个需求也就没有尝试了,有待实验。

远程转发通常用在外网想主动连接内网主机的时候,本质上就是内网主机先建立一条通向外网主机的连接,然后让外网主机直接顺着这条连接发送数据给内网主机:

那么我用

就可以通过ssh连接内网主机了。

值得注意的是,user1是服务器的用户名而user2是内网主机的用户名

之前两种的转发都是指定了转发目的地的端口,那动态转发的意思就是根据数据包的协议动态选择转发的目的端口。多用于。

X转发就是说通过ssh转发X11协议的数据,简单的说就是直接在本地运行远程的带有GUI的程序。

讲道理X转发可以用远程转发来实现,但是比较麻烦。

打开X转发需要保证/etc/ssh/sshd_config(配置文件的路径随不同linux发行版有可能会发生改变)钟的X11Forwarding是yes的。

1、首先连接到Linux主机并进入命令行状态。

2、在命令行状态下,输入命令:netstat -ntu | awk'{print $ 5}'| cut -d:-f1 |排序| uniq -c | sort -n,按Enter键。

3、打印出访问服务器的IP列表。

扩展资料

1、实现此的技术原理:在内网通过域名绑定服务器,外网SSH访问连接时,通过域名的访问,实现访问内网LINUX。

2、具体的实现过程如下:明确LINUX服务器内网访问地址端口,确保LINUX服务器正常开启SSH服务,在内网SSH可以正常访问连接。如图所示:

3、被访问端的Linux主机上使用nat123动态域名解析Linux版本。在被访问端的Linux服务器安装nat123客户端,并登录使用它。

4、登录网页,左侧用户中心,添加域名解析,选择动态域名解析并添加确认。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。如不理解负载均衡,不要勾选多点登录。

5、新添加动态解析后,等待几分钟生效。解析生效后,动态解析域名与本地公网IP是保持对应的。可以通过ping下域名核实,返回结果IP地址为本地公网IP地址时,表示动态解析生效正常。

6、路由器端口映射,路由映射SSH访问22端口。因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网LINUX服务器访问22端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的LINUX服务器SSH服务端口是默认的22,我内网对应LINUX服务器主机的内网IP地址是192168129。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10470520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存