OpsDaiLou 发布的文章

-L 本地端口转发

-R 远程端口转发

-D 动态端口转发

Example

# 本地端口转发
# 本地监听端口 9848,用户访问本机的 9848端口,最终访问 HostC的9848端口,通过HostB中转
ssh -L 9848:HostC:9848 user@HostB -N

# 远程端口转发
# 远程主机HostB监听端口 9848
# 用户访问HostB的 9848端口,最终访问 HostA 的9848端口,通过HostA中转
ssh -R 9848:localhost:9848 user@HostB -N

# 动态端口转发
# 本地监听1080端口 SOCKS5协议
# 用户配置本机的1080作为代理,http请求,会通过代理端口转到HostB,然后通过HostB访问http请求
ssh -D 1080 user@HostB -N

- 阅读剩余部分 -

问题

错误修改/etc/sudoers文件,导致出现sudo命令无法正常使用的问题出现。

>>> /etc/sudoers: syntax error near line 21 <<<
sudo: parse error in /etc/sudoers near line 21
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

注意:

这里的问题,是在Ubuntu系统环境下出现的,是基于该系统进行的整理。

- 阅读剩余部分 -

背景:

有时候,安装的Ubuntu系统,会有不满意一开始创建的用户名,但是又因为在该用户下装了一些东西,不希望重新创建新用户进行使用,想要直接修改用户名的需求。

这里提供一个案例:

dev 用户名修改为 test 用户

- 阅读剩余部分 -

通过ssh连接服务器失败

$ ssh root@172.16.0.247
Unable to negotiate with 172.16.0.247 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

SSH 客户端和远程服务器无法协商使用相同的 host key 类型。

解决方法:

添加参数

# -oHostKeyAlgorithms=+ssh-rsa           允许接收远程主机提供的 ssh-rsa 类型的 主机密钥(连接握手阶段)
# -oPubkeyAcceptedAlgorithms=+ssh-rsa    允许使用 ssh-rsa 类型的 用户身份验证公钥(登录认证阶段)
ssh root@172.16.0.247 -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa

- 阅读剩余部分 -

变量值来源是否显示端口说明
$host按照 请求行中的Host > 请求头中的Host > server_name 的值 优先级获取"Host:port"显示值为a:b的时候,只显示a
$http_host请求头中的Host"Host:port",port存在就显示,请求头中Host是多少 $http_host就是多少
$proxy_hostproxy_pass 指定的地址是(默认80不显示)"Host:port" proxy_pass指定的 "Host:port",当port为80的时候只有“Host”,其它端口,正常显示为 “Host:port”

- 阅读剩余部分 -