标签: forwarding

ssh-agent 转发和 sudo 到另一个用户

如果我有一个服务器 A,我可以使用我的 ssh 密钥登录,并且我有能力“sudo su - otheruser”,我会丢失密钥转发,因为 env 变量被删除并且套接字只能由我的原始用户读取。有没有一种方法可以通过“sudo su - otheruser”桥接密钥转发,这样我就可以使用转发的密钥(在我的情况下为 git clone 和 rsync )在服务器 B 上做一些事情?

我能想到的唯一方法是将我的密钥添加到其他用户的授权密钥和“ssh otheruser@localhost”,但对于我可能拥有的每个用户和服务器组合来说,这很麻烦。

简而言之:

$ sudo -HE ssh user@host
(success)
$ sudo -HE -u otheruser ssh user@host
Permission denied (publickey). 
Run Code Online (Sandbox Code Playgroud)

ssh sudo agent forwarding ssh-agent

177
推荐指数
7
解决办法
9万
查看次数

为什么 ssh 代理转发不起作用?

在我自己的计算机上,运行 MacOSX,我在 ~/.ssh/config 中有这个

Host *
ForwardAgent yes
Host b1
ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)

b1 是运行 Ubuntu 12.04 的虚拟机。我像这样 ssh 到它:

ssh pupeno@b1
Run Code Online (Sandbox Code Playgroud)

我在没有被要求输入密码的情况下登录,因为我已经复制了我的公钥。由于转发,我应该能够从 b1 ssh 到 pupeno@b1 并且它应该可以工作,而不需要我输入密码,但它没有。它要求我输入密码。

我错过了什么?

这是第二个 ssh 的详细输出:

pupeno@b1:~$ ssh -v pupeno@b1
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to b1 [127.0.1.1] port 22.
debug1: Connection established.
debug1: identity file /home/pupeno/.ssh/id_rsa type -1
debug1: identity file /home/pupeno/.ssh/id_rsa-cert type -1
debug1: identity file …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssh mac-osx forwarding

70
推荐指数
5
解决办法
7万
查看次数

e1000e 意外重置适配器/检测到硬件单元挂起

我有一台戴尔 1U 服务器,带有 Intel(R) Xeon(R) CPU L5420 @ 2.50GHz,8 核,在 x86_64 上运行 Ubuntu 服务器内核版本 3.13.0-32-generic。它具有双 1000baseT 网卡。我已将其设置为将数据包从 eth0 转发到 eth1。

我注意到在我的 kern.log 文件中它一直挂着然后休息。这经常发生。这种情况每隔几秒钟发生一次,然后可能几分钟就可以了,然后每隔几秒钟就会恢复。

这是日志文件转储:

 [118943.768245] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang:
 [118943.768245]   TDH                  <45>
 [118943.768245]   TDT                  <50>
 [118943.768245]   next_to_use          <50>
 [118943.768245]   next_to_clean        <43>
 [118943.768245] buffer_info[next_to_clean]:
 [118943.768245]   time_stamp           <101c48d04>
 [118943.768245]   next_to_watch        <45>
 [118943.768245]   jiffies              <101c4970f>
 [118943.768245]   next_to_watch.status <0>
 [118943.768245] MAC Status             <80283>
 [118943.768245] PHY Status             <792d>
 [118943.768245] PHY 1000BASE-T Status  <7800>
 [118943.768245] PHY Extended Status    <3000>
 [118943.768245] PCI Status             <10> …
Run Code Online (Sandbox Code Playgroud)

networking ethernet nic forwarding linux-networking

48
推荐指数
3
解决办法
7万
查看次数

选择SSH端口转发接口

我有一个我们称之为 hub-server.tld 的服务器,它有三个 IP 地址:100.200.130.121、100.200.130.122 和 100.200.130.123。我在防火墙后面有三台不同的机器,但我想使用 SSH 将一台机器端口转发到每个 IP 地址。例如:第一台机器应该在 100.200.130.121 上的端口 22 上监听 SSH,而第二台机器应该在 100.200.130.122 上做同样的事情,对于所有机器上可能相同的端口上的不同服务,依此类推。

SSH 手册页-R [bind_address:]port:host:hostport列出了我启用了网关端口,但是当使用-R特定 IP 地址时,服务器仍然在所有接口上侦听端口:

机一:

# ssh -NR 100.200.130.121:22:localhost:22 root@hub-server.tld
Run Code Online (Sandbox Code Playgroud)

hub-server.tld(侦听端口 2222 上的 SSH):

# netstat -tan | grep LISTEN
tcp        0      0 100.200.130.121:2222        0.0.0.0:*                   LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
Run Code Online (Sandbox Code Playgroud)

有没有办法让 SSH 仅将特定 IP 地址上的连接转发到一台机器,以便我可以同时侦听其他 IP 地址上的端口 22,或者我必须对 iptables 做些什么?以下是我的 ssh 配置中所有不是注释/默认值的行:

Port 2222
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication …
Run Code Online (Sandbox Code Playgroud)

ssh port forwarding

28
推荐指数
1
解决办法
3万
查看次数

使用 DNS 记录将根域转发到 www 子域

www.mydomain.com指出了一个 Azure 网站。

www.mydomain.com --- CNAME --- mydomain.azurewebsites.net
Run Code Online (Sandbox Code Playgroud)

当我访问时www.mydomain.com,一切正常。这很好。

问题是,mydomain.com不起作用。Azure 只允许 www 子域。

在某些名称服务器中,我使用 FWD 记录将根转发到 www,这很好用。我当前的名称服务器 (zoneedit.com) 没有此 FWD 记录。

是否有我们可以用来将根域转发到 www 子域的 DNS 记录?

domain-name-system forwarding

24
推荐指数
2
解决办法
5万
查看次数

如何为内部 DNS 服务器正确配置 BIND 转发区域?

我有:

  1. ns1.internal带有 IP 的内部 DNS 服务器192.168.0.4
  2. 具有外部 TLDmydns.example.com和内部 IP 的外部 DNS 服务器192.168.0.5。它可以从 Internet(通过静态 NAT 规则)和本地网络访问。

我正在尝试设置我的外部 DNS 服务器以将区域转发subzone.mydns.example.com到内部 DNS 服务器。内部 DNS 服务器对该区域具有权威性。

重要提示:我无法修改内部 DNS 服务器配置。但是,如果需要诊断问题,我可以阅读它。

/etc/named.conf外部 DNS 服务器上的文件:

options {
  directory "/var/named";
  version "get lost";

  recursion yes;
  allow-transfer {"none";};
  allow-query { any; };
  allow-recursion { any; };
};

logging{
  channel example_log{
   file "/var/log/named/named.log" versions 3 size 2m;
   severity info;
   print-severity yes;
   print-time yes;
   print-category yes;
 };
 category default{
  example_log;
 }; …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind forwarding

19
推荐指数
1
解决办法
10万
查看次数

如何设置 ssh 隧道来转发 ssh?

我在路由器后面有一台无法配置的 Ubuntu 计算机。但是我想通过 ssh 访问那台计算机。我认为 ssh 隧道是可能的,但我不知道该怎么做。我有另一台服务器,我想设置隧道。怎么做?或者也许您有其他想法如何解决这个问题?

我试过:

ssh -N user@my_server -L 22/localhost/8090
Run Code Online (Sandbox Code Playgroud)

但它说:

bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 22
Could not request local forwarding.
Run Code Online (Sandbox Code Playgroud)

linux ssh ssh-tunnel forwarding

16
推荐指数
2
解决办法
7万
查看次数

转发电子邮件时,它是否会丢失其原始标题?

我想知道当电子邮件转发时它是否会丢失其原始标题?

email forwarding

16
推荐指数
1
解决办法
4万
查看次数

在 BIND 中,将特定域的 DNS 查询转发到特定名称服务器

Windows Server 2003 具有此功能,您可以将域“example.com”的查询转发到特定名称服务器(不是默认 DNS 服务器)。

我如何在 BIND 中设置它?例如,我想设置本地 TLD 到特定本地名称服务器的转发。

绑定版本 9.6

工作配置

正如 Khaled 所指出的,我们可以在 zone 子句中使用 forwarders 语句。它适用于以下配置:

zone "local." IN {
   type forward;
   forward only;
   forwarders { 10.10.1.9; };
};
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind forwarding

12
推荐指数
1
解决办法
2万
查看次数

类似 mosh 的端口转发

这是在 linux 上,连接到 linux 服务器:

我喜欢 mosh,但它不支持端口转发,而且可能有一段时间不支持了,因为现在已经快一年了,而且还没有发生。

通过 ssh 进行端口转发很棒,但是因为我的笔记本电脑每天在网络之间移动数次,所以我的 ssh 会话会死掉,端口转发也是如此。

我可以编写脚本/破解一些东西来检测挂起的 ssh 并重新连接以使我的端口转发回来,但在我这样做之前,当您的源 IP 每天更改数次时,是否有另一种方法可以进行持久的端口转发(因为您使用不同的网络) )?

我认为 UDP 上的 ssh 可以解决问题,但当然 ssh 是 TCP 上的。

port udp forwarding

11
推荐指数
1
解决办法
4148
查看次数