小编Tor*_*xed的帖子

ssh_exchange_identification:连接被远程主机关闭(不使用 hosts.deny)

没有使用hosts.allowor hosts.deny,而且 SSH 可以在我的 Windows 机器(相同的笔记本电脑,不同的硬盘驱动器)上运行,但不能在我的 Linux 机器上运行。

ssh -vvv root@host -p port 给出:

OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to host [host] port <port>.
debug1: Connection established.
debug1: identity file /home/torxed/.ssh/id_dsa type -1
debug1: identity file /home/torxed/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6
ssh_exchange_identification: read: Connection reset …
Run Code Online (Sandbox Code Playgroud)

linux ssh key-authentication

116
推荐指数
5
解决办法
57万
查看次数

使用 /bin/sh 将 stderr 和 stdout 重定向到 /dev/null

我已经试过各种办法都重定向stdoutstderr/dev/null没有任何成功。我几乎一生都在运行 bash,我从来没有遇到过这个问题,但有一次在 BSD 中我被/bin/sh.

我试过的:

if ls ./python* 2> /dev/null; then
    echo found Python
fi
Run Code Online (Sandbox Code Playgroud)

...哪个有效;如果 Python 不存在,它将使来自 ls 的错误消息静音。但是,如果python.tgz存在,则会输出如下所示的行:

# ./test.sh
./python-2.7.3p1.tgz
Run Code Online (Sandbox Code Playgroud)

我试过了:

if ls ./python* &> /dev/null; then
    echo found Python
fi
Run Code Online (Sandbox Code Playgroud)

if ls ./python* 2>1 > /dev/null; then
    echo found Python
fi
Run Code Online (Sandbox Code Playgroud)

if ls ./python* > /dev/null; then
    echo found Python
fi
Run Code Online (Sandbox Code Playgroud)

没有什么是真正有效的。我只能重定向输出之一,不能同时重定向。

shell io-redirection openbsd

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

iptables --set-mark - 通过不同的接口路由不同的端口

小故事,
3个接口,eth0(局域网),eth1(ADSL),eth2(4G)。
eth0 -> eth1:有效
(端口 80、443、4070) eth0 -> eth2:不会发生


这是这个想法的图形表示:

端口 80 和 443 通过 eth2
ant 其余通过 eth1
在此处输入图片说明

网络方案:

eth0: -ip 10.0.0.1 -net 10.0.0.0/8 -gw 10.0.0.1 (the servers own intf) 
eth1: -ip 192.168.1.74 -net 192.168.1.0/24 -gw 192.168.1.254 
eth2: -ip 192.168.1.91 -net 192.168.0.0/24 -gw 192.168.0.1 
Run Code Online (Sandbox Code Playgroud)






我认为,这个新脚本将 22 和 4070 重新路由到正确的表。
但是,到达该表后,它不会重新路由到 eth2。




此脚本有效,除了 22 和 4070!

(端口 80 没有注释并且可以工作,但是通过 eth1 是错误的。)

modprobe iptable_nat
modprobe ip_conntrack

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT …
Run Code Online (Sandbox Code Playgroud)

ubuntu routing iptables route

17
推荐指数
2
解决办法
6万
查看次数

用 x11grab 合并两个音频源,可能吗?

目前我正在使用以下设置运行。

ffmpeg \
 -i http://pub1.di.fm:80/di_vocaltrance \
 -f x11grab -s 1920x1080 -r 25 -i :0.0 \
 -c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
 -c:a libmp3lame -ab 96k -ar 22050 \
 -threads 0 \
 -f flv "rtmp://...."
Run Code Online (Sandbox Code Playgroud)

我想烤什么:

 -f alsa -ac 2 -i hw:0 -acodec pcm_s32le -aq 1 -ab 128k\
Run Code Online (Sandbox Code Playgroud)

这可能吗?甚至可能混入“我听到的”(又名回放)可以这么说?

我已经尝试了一些(但不完全理解 -map)

 -i http://pub1.di.fm:80/di_vocaltrance -map 0:1 \
 -f x11grab -s 1920x1080 -r 25 -i :0.0 -map 0:0 \
Run Code Online (Sandbox Code Playgroud)

但这并没有那么顺利。

我现在离得很近了,这给了我声音通道,但一切听起来都像是在一个小锡罐里。

#!/bin/bash
KEY=`cat key.db`

ffmpeg \
 -i http://pub1.di.fm:80/di_vocaltrance \
 -f …
Run Code Online (Sandbox Code Playgroud)

alsa ffmpeg

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

pacman 不使用 -S 和 -w 下载依赖项?

我在什么地方发生了这种奇怪的事情,

pacman -S -w awesome xorg-xinit xorg-server xorg-server-utils
Run Code Online (Sandbox Code Playgroud)

pacman不会下载所有必需的依赖项。

下载包的原因是因为我正在创建一个本地存储库,其中只包含我需要的特定包。(而不是下载整个 repo,因为 Arch 社区由于带宽限制不希望您这样做,这是尊重)

现在,上面定义的包可以很好地下载,它会下载xorg-server等等,并-w确保它们不会被安装。但-S也应该下载它不出于任何原因的所有依赖项。

稍后尝试使用本地存储库安装上述软件包时的输出结果为:

warning: cannot resolve "xorg-xset", a dependency of "xorg-server-utils"
warning: cannot resolve "xorg-xauth", a dependency of "xorg-xinit"
Run Code Online (Sandbox Code Playgroud)

并且列表还在继续......检查回购肯定包丢失并且从未在任何地方下载过。

为什么会这样?我错过了什么吗?逻辑上还是参数明智?

arch-linux pacman dependencies software-installation

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

ffmpeg -pattern_type glob -- 未按正确顺序加载文件

我有一个进退两难的问题.. 我有一个脚本一段时间了,它每隔几分钟就从网络摄像头下载图片。命名约定就是这样new_image((len(files(dir))+1) + '.jpg'),一切都很好......直到今天......

我有一个 Python 脚本,它根据创建日期加载图像并渲染它们,然后我将 OpenGL 数据转储到电影中,这并不难,而且一切正常.. 除了现在我有几千个图像并且以这种方式继续下去是非常无效的(即使它很酷,因为我可以构建自己的 GUI 和覆盖等)..无论如何,我正在使用 ffmpeg 将图像组合成幻灯片,如下所示:

ffmpeg -f image2 -r 25 -pattern_type glob -i '*.jpg' -qscale 3 -s 1920x1080 -c:v wmv1 video.wmv

ffmpeg 工作正常,除了-pattern_type glob按命名顺序获取图像这不起作用,因为文件获取的方式与 相似,如果不相同ls,看起来像:

user@host:/storage/photos$ ls
0.jpg     1362.jpg  1724.jpg  2086.jpg  2448.jpg  280.jpg   3171.jpg  3533.jpg  3896.jpg  4257.jpg  4619.jpg  4981.jpg  5342.jpg  5704.jpg  6066.jpg  650.jpg
1000.jpg  1363.jpg  1725.jpg  2087.jpg  2449.jpg  2810.jpg  3172.jpg  3534.jpg  3897.jpg  4258.jpg  461.jpg   4982.jpg  5343.jpg  5705.jpg  6067.jpg  651.jpg
Run Code Online (Sandbox Code Playgroud)

0, 1000, 1, 2000, …

ffmpeg wildcards numbering

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

qemu - 通过 br0 的两个客户端(tap0 和 tap1)无法互相 ping,但服务器 ping 正常

我有:

  • 运行带有 KVM 的 Ubuntu 的主机系统(功能)
  • 两个客户端,一个 Ubuntu 和一个 Windows 7,没什么特别的。

我还通过 br0 为客户端设置了(见下文)网桥:

  • br0:192.168.2.1(DHCP 运行)
  • eth0 -> br0
  • 点击0 -> br0
  • 点击1 -> br0

br0 可以给客户端 IP,他们得到:

  • Windows 7:192.168.2.29
  • Ubuntu:192.168.2.30

这是我的问题:

  • Windows ICMP -> br0:有效
  • Ubuntu ICMP -> br0:有效
  • Ubuntu ICMP -> Windows:失败

http://www.youtube.com/watch?v=5C1VvJezouI


我玩了一些 NAT(我通过 iptables 掌握了它的窍门),这就像一个魅力!没有任何问题,两个客户端都可以 ping www.google.se 并获取数据等,但不能在彼此之间?!


这是我从头到尾运行的命令:

tc qdisc del dev wlan0 root 2>/dev/null
tc qdisc del dev wlan0 ingress 2>/dev/null
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F …
Run Code Online (Sandbox Code Playgroud)

networking kvm ubuntu ping qemu

6
推荐指数
1
解决办法
5078
查看次数

SSH + 证书颁发机构服务器?

是否可以设置 SSH(例如通过 pam)来根据 CA 服务器检查连接客户端的公钥?我已经尝试过 gnupg(通过gpg-agent --daemon --enable-ssh-support),也尝试过与 OpenCA 一起工作,这证明只是安装是一个挑战。此外,当涉及到这两者时,文档是可怕的。

我想完成的是以下方面的事情:

[客户端]--SSH-->“服务器”<---> [CA 服务器]

整个平台都是基于 *nix 的,我现在对建议持开放态度,因为我已经坚持了一段时间了。

GnuPG

我已经按照这些指南尽可能简单地进行了设置:

我最初的想法是建立我自己的“密钥服务器”,它gpg可以发送和检查密钥,但没有任何关于这方面的信息(或者至少我找不到)。

根据我的理解,我应该能够ssh-add -l列出我的所有密钥,但这给了我:The agent has no identities.这并不奇怪,因为我从未指定从何处获取它们,但“它应该可以正常工作”(...?) .

gpg.conf的样子:

... lots of default ...
personal-digest-preferences SHA512
cert-digest-algo SHA512
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
homedir /etc/gnupg
use-agent
Run Code Online (Sandbox Code Playgroud)

和我的gpg-agent.conf

pinentry-program /usr/bin/pinentry-curses
default-cache-ttl 10800
default-cache-ttl-ssh 10800
write-env-file /etc/gnupg/.gpg-agent-info
enable-ssh-support
Run Code Online (Sandbox Code Playgroud)

只是为了验证我确实有一个密钥并且 gpg 正在响应: …

ssh gpg certificates gpg-agent

5
推荐指数
1
解决办法
675
查看次数

配置文件例程:STR_COPY:变量没有值

由于我无法找出这是从哪个文件生成的,因此我不知道如何获取未设置的变量。但该错误类似于一个旧问题,即默认配置或源变量文件中未正确设置变量。

我确实有一个默认配置/etc/ssl/openssl.cnf,它是与 openssl 包一起打包的默认配置。

这是完整的输出:

[Torxed@Daylight ipsec.d]$ sudo openssl pkcs12 -export -inkey private/testKey.pem --in certs/testCert.pem -name "My own VPN client certificate" -certfile cacerts/rootCert.pem -caname "StrongSwan Root CA" -out test.p12

140093433759384:error:0E065068:configuration file routines:STR_COPY:variable has no value:conf_def.c:584:line 167
Run Code Online (Sandbox Code Playgroud)

通常 SSL 会向您抛出生成错误的文件,所以我有点迷失在这里。

openssl

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

tc 类速率 50Kbps != 50K/s in wget?

得到以下测试规则设置:

tc qdisc add dev wlan0 root handle 1: htb
tc class add dev wlan0 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev wlan0 parent 1:1 classid 1:5 htb rate 50Kbps ceil 50Kbps burst 1kbit cburst 1kbit
tc qdisc add dev wlan0 parent 1:5 handle 5:0 sfq perturb 5
tc filter add dev wlan0 parent 1:0 protocol ip u32 match ip dport 80 0xffff classid 1:5
tc filter add dev wlan0 parent 1:0 protocol ip u32 match …
Run Code Online (Sandbox Code Playgroud)

ubuntu port-forwarding tc traffic

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

无需猜测即可获取与 macvtap 关联的 /dev/tapX

按照指南进行设置macvtap效果很好。
该指南的摘录如下所示:

# ip link add link eth1 name macvtap0 type macvtap
# ip link set macvtap0 address 1a:46:0b:ca:bc:7b up
# ip link show macvtap0
Run Code Online (Sandbox Code Playgroud)

然后该指南继续解释您可以执行以下操作:

#qemu-system-x86_64 -net nic,model=virtio,addr=1a:46:0b:ca:bc:7b -net tap,fd=3 3<>/dev/tap11
Run Code Online (Sandbox Code Playgroud)

如果你的macvtap最终结果是/dev/tap11.
但是你如何检查哪个/dev/tapX接口实际上被分配给了macvtap0上面的接口呢?

我有很多服务随机在我的机器上设置点击设备。我无法猜测我的具体结果是哪一个。

我希望用以下命令启动 qemu 机器:

    -netdev tap,ifname="macvtap0",id=network0,script=no,downscript=no \
    -device i82559b,netdev=network0,mac=${MAC}
Run Code Online (Sandbox Code Playgroud)

可以,macvtap0我刚刚创建的设备在哪里。
然而,这给了我:

qemu-system-x86_64: could not configure /dev/net/tun (macvtap0): Invalid argument

本文概述:如何找到tap接口与其文件描述符之间的联系?- 他们描述了一种通过访问 PID 并检查关联文件描述符来实现此目的的方法,对我来说问题是 qemu 没有设置设备,而我是。并且没有与之关联的 PID。

/dev那么如何获取与新创建的接口关联的文件句柄macvtap? …

linux networking devices qemu iproute

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