ssh简介1注意v2ray使用了端口转发
V2Ray Windows 客户端主要有两个,一个是 v2ray-core(v2ray 核心,官方客户端),另一个是 v2rayN(基于 v2ray-core 的开一个 GUI 可视化客户端),其中 v2ray-core 可以单独使用,而 v2rayN 则是基于 v2ray-core 的一个辅助可视化工具。
ssh简介2

基本操作

-i 指定私钥 -p指定端口
ssh -i ~/.ssh/liyddsshkey username@192.168.1.237 -p 23

使用跳板机

# 这是跳板机的配置,给跳板机的 IP 起个别名: jump_machine, 用户名: owen

Host jump_machine
   HostName 192.168.1.4
   User owen
   IdentityFile ~/.ssh/jump_machine

# 这是目标机的配置,使用跳板机( jump_machine )做代理机器,别名: remote_srv_machine, 用户名: owen

Host remote_srv_machine
   HostName 192.168.1.5
   ProxyCommand ssh jump_machine -W %h:%p
   User owen

同一个跳板机可供众多机器做代理,按照同样方法配置即可。

下文假设已有代理(v2ray)在本地侦听端口,则可省略配置跳板机。

注意 关掉 连接设置中的 绕过中国大陆

SSH使用socks5代理

有时候你的SSH因为某些原因, 或者你的VPS的SSH端口被某些无法阻挡的力量被封禁了, 你使用普通的SSH方式无法登录你的服务器, 所以这时候我们需要使用一些方式, 让你的SSH通过代理链接你的服务器, 进而解决这个问题.

直接配置

如何让你的ssh链接使用socks代理呢, 我们可以使用nc命令, 使用ssh的ProxyCommand配合nc可以让ssh通过你设置的代理访问服务器

ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:1080 %h %p" root@server

其中使用ProxyCommand命令, 带上具体内容nc -X 5 -x 127.0.0.1:1080 %h %p, 127.0.0.1:1080是你的代理实际地址和端口 最后边的root@server是你需要登录的服务器和用户名

nc命令的常用参数:
-X是指定代理协议
4是socks4协议
5是socks5协议
-x是指定代理服务器和端口[代理服务器:端口]
 默认socks使用1080
HTTPS使用3128

alias

使用alias方式也可以:

vim ~/.bashrc    //打开你的.bashrc或者.zshrc配置alias
alias server=ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:1080 %h %p" root@server
 //添加此行后保存退出
source ~/.bashrc  //令配置生效

下次我们访问服务器的时候在终端中直接输入server就行

config方式

我们也可以使用ssh的config配置
编辑ssh的配置文件, 没有这个文件的话, 自己创建一下:
$ vim ~/.ssh/config
然后写入一些命令

Host *
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

*号匹配所有
下次使用ssh的时候就不需要配置代理了

HTTP代理

有时候你没有socks代理的时候, 我们借助corkscrew可以让ssh使用HTTP代理

由于我这里是linux系统, 我就直接用apt安装corkscrew:
$ sudo apt install corkscrew
安装完成之后我们打开ssh的config文件修改成使用corkscrew的http代理方式:
$ vim ~/.ssh/config
写入:
ProxyCommand /usr/bin/corkscrew 127.0.0.1 8080 %h %p

/usr/bin/corkscrew是corkscrew的可执行文件路径, 如果您和我的不一样, 可以修改成正确的地址
127.0.0.1 8080是你的HTTP代理端口, 注意中间有空格, 保存退出后这个时候ssh可以通过你设置的http代理进行访问你的服务器了.
注意,这种方式生效是全局的, 可能会影响到你的git 使用ssh的方式clone或者push