SSH常用功能

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

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

1、使用用户名/密码登陆

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

ssh user@remote_host [-p port]

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

2、使用密钥对登陆(此部分有待细化)

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

3、端口转发(此部分有待截图)

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

1)、共用参数

先说明常见的参数

-f     后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N   不执行脚本或命令,通常与-f连用

2)、本地转发

ssh -f -N  -L local_port:remote_host:remote_port  username@tunnel_host

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

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

ssh -f -N -L 10000:1.2.3.4:20000  username@1.1.1.1

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

3)、远程转发

ssh -f -N  -R remote_port:local_host:local_port user@tunnel_host

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

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

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

ssh -f -N -R 10000:localhost:22 user1@1.1.1.1

那么我用

ssh user2@1.1.1.1 -p 10000

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

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

3)、动态转发

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

ssh -N -f -D 1080 user@remote_host  #将端口绑定在127.0.0.1:1080上

ssh -N -f -D 0.0.0.0:1080 user@remote_host  # 将端口绑定在0.0.0.0:1080上

4)、X转发

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

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

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

ssh –X user@remote_host

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,099评论 19 139
  • 第一部分 概述当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室...
    fastjrun阅读 1,258评论 0 8
  • 实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中...
    hopevow阅读 1,120评论 0 9
  • CA和证书安全协议(SSL/TLS)OpenSSH 一、CA和证书 (一) PKI(Public Key Infr...
    哈喽别样阅读 1,554评论 0 0
  • 关于眉毛的词有好多,眉清目秀、眉开眼笑、喜上眉梢、巾帼须眉……小小的眉毛,在整个容貌上,有着非同小可的重要性! ...
    圆圆2408阅读 373评论 0 0

友情链接更多精彩内容