标签: ssh

SMB 代理:通过其他两台主机之间的 SSH 隧道连接到 SMB 服务器

我希望本地主机访问我公司的 SMB 共享。这些位于 Win7 对等点上。这个对等点正在运行一个带有 Debian 的虚拟机,它本身正在运行一个 ssh 守护进程。

我可以轻松地创建从本地主机到 VM 的 ssh 隧道,但无法使 SMB 转发/代理工作。我在这方面读了太多,最终完全混淆了要转发到哪个接口和主机上的哪个端口等等......

如果我是对的,我必须将 localhost 的端口 139 转发到我的代理上的端口,并且在代理本身上将端口 139 转发到同一主机上的 ssh 隧道的端口?这应该有效吗?我应该如何设置每个主机来实现这一点?

网络大致如下:

localhost ===(ssh)=== |router| ===(ssh)=== debian vm ===(smb)=== win7

路由器只是将 SSH 连接转发到 VM。

ssh proxy samba server-message-block ssh-tunnel

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

SSH 文件传输在 ~700KB 后挂起

概述

我正在现场在 Windows 7 机器上编写 SFTP 文件传输脚本。当我传输大于 1 兆字节左右的 zip 文件时,传输(和 SSH)在大约 700KB 后意外停止。SSH 进程似乎挂起,但它并没有开始大量消耗 CPU 或内存,Windows 也没有说它已停止响应。服务器最终放弃并超时,但客户端永远不会返回(尽管设置了 ServerAliveCountMax 和 ServerAliveInterval)。服务器日志显示传输开始,然后超时并在很长时间后断开连接。

细节

背靠背重新运行脚本,每次挂起前传输相同数量的字节。走开再回来,然后再次运行脚本,字节数会相差几十千字节。

命令行 sftp.exe 客户端使用默认选项正常工作;那些较大的 zip 文件传输成功。我无法测试 scp.exe,因为 SSH 用户帐户没有外壳访问权限。我相信问题在操作系统擦除和从 XP 到 7 的重新映像中仍然存在,所以我怀疑是网络问题,但我无法理解什么样的问题会导致这种行为。

我正在使用 Perl 和 Net::SFTP::Foreign 模块编写脚本。以下是从我的测试用例脚本中提取的相关代码(下面附有 SSH 输出日志):

 my %connectOpts = ( 
  user     => $username
  ,timeout => $timeout
  ,warn    => sub {}
  ,more    => [ "-o PreferredAuthentications=publickey",
               "-o ServerAliveCountMax=6",
               "-o ServerAliveInterval=" . int($timeout/6),
               "-vvvv" ]
  );

my $sftp = Net::SFTP::Foreign::Compat->new( $host, %connectOpts );

foreach my $local_file …
Run Code Online (Sandbox Code Playgroud)

ssh file-transfer sftp perl

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

从 php 脚本运行 git pull

我正在尝试使用 Git、GitHub 和 SSH的Perfect Workflow,但似乎无法运行git pull. 我试过了git status,没问题。

当git pull 2>&1我得到:

错误:无法打开 .git/FETCH_HEAD:权限被拒绝

我试图 chmod .git dir 到 777 没有运气。

当我whoami从浏览器运行时,它向我显示:apache

- - 编辑 - -

我刚刚做了chown apache:apache -R .git,现在我得到:

无法创建目录“/.ssh”。主机密钥验证失败。致命:远端意外挂断

php permissions ssh git apache-2.2

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

服务器突然对 SSH 无响应

服务器突然对 SSH 没有响应,我报告了上一次它发生在我大约 2 个月前的另一台服务器上。服务器设置是 CentOS6 64 位,它运行一个非常基本的 apache2 服务器,该服务器提供静态文件,并且应该在非常小的负载下,因为它在一个高度缓存的 Amazon CloudFront 后面。

我被告知要仔细查看,/var/log/messages但是当我在出现问题时(2012 年 2 月 27 日 18:00 左右)打开它时,那里有很多消息,我不知道它们的意思,谷歌搜索也没有多大帮助或者所以我想知道是否有更有经验的人可以看看这个日志并告诉我他们是否看到任何奇怪的东西。

Feb 26 03:06:02 173 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 26 03:06:02 173 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1439" x-info="http://www.rsyslog.com"] (re)start
Feb 26 04:20:01 173 auditd[1414]: Audit daemon rotating log files
Feb 26 13:37:09 173 auditd[1414]: Audit daemon rotating log files
Feb 27 08:03:03 173 auditd[1414]: Audit daemon rotating log files
Feb 27 …
Run Code Online (Sandbox Code Playgroud)

ssh centos

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

如何在不使用 -f 的情况下让 ssh 在后台运行?

我正在尝试创建一个 ssh 隧道,将其分离到后台进程中,然后编写一个 pid 文件,稍后我可以用它来杀死它。我可以用 运行 ssh -f,但是我没有处理它的 PID。

但是,当我尝试通过 nohup 或 setid 运行下面的脚本时,控制权永远不会返回到我尝试守护脚本的 shell。

#!/bin/sh                                                 

while getopts ":v" flag; do
    case $flag in
        v|verbose) verbose=1;;
        :) echo "option -$lastflag requires an argument"; exit 1;;
    esac 
    lastflag="$flag"
    shift $((OPTIND - 1)); OPTIND=1
done

ssh  -p '2222'  -nNL '5984:localhost:5984' 'blah@foo.com' &
pid=$!
sleep 2;
ps -p $pid >/dev/null 2>&1 || exit 1
echo $pid > "var/couchdb-tunnel.pid"
wait
Run Code Online (Sandbox Code Playgroud)

调用:

nohup script.sh
setsid script.sh
Run Code Online (Sandbox Code Playgroud)

我如何说服 ssh(我假设)放弃终端?有没有其他方法可以实现我想要的?

unix ssh sh

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

Fail2Ban - 如何防止我的 ISP IP 动态被禁止?

我刚刚安装了Fail2Ban。

我想将我的 ISP IP 添加到我的忽略列表中,但我的 IP 是动态的。

在 jail.conf 文件中,我有这样的:

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
bantime  = 600
maxretry = 3
Run Code Online (Sandbox Code Playgroud)

我的 DNS 看起来像这样: 12-123-112-223.zone6.myISPName.co.uk

是否可以将 DNS wild 添加到忽略列表中?例如,*.myISPName.co.uk

security linux ubuntu ssh fail2ban

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

我可以在五秒后断开 SSH 连接吗?

我需要允许人们连接到我的盒子,然后在几秒钟后断开连接,无论客户端是否正在提交数据。这可能吗?

另外,我可以创建一个完全假的服务器吗?(即只允许在内存中更改文件,以欺骗任何连接的攻击者认为服务器是真实的?)

security ssh

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

通过 SSH 的 RSync 挂起并因超时而失败

客户端:Gentoo、GCC 4.3.4、RSync 3.0.9 服务器:Ubuntu 10.04.4 LTS、RSync 3.0.7

客户端和服务器连接通过的是Internet,大约2Mbps。平没问题。

在任何方向上调用任何文件的 RSync 挂在随机文件上,然后在超时后失败:

[sender] io timeout after 30 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at io.c(140) [sender=3.0.9]
[sender] _exit_cleanup(code=30, file=io.c, line=140): about to call exit(30)
Run Code Online (Sandbox Code Playgroud)

在 1/10 尝试中正确通过。

我尝试添加 SSH 选项 TcpRcvBufPoll=yes, KeepAlive=yes; 禁用和启用 rsync 压缩——没有变化。

如何使 rsync 正常工作?

linux ssh rsync

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

添加 ssh 密钥导致“连接关闭”

我试图添加到我的 ssh 密钥对的 ssh 服务器,以便我可以无密码登录。

当我通过创建.svn 和authorized_keys 将我的公钥添加到我的服务器时,当我删除它时,我可以再次登录(有密码提示)。

不知道还能做什么,但我尝试生成一个 rsa ssh-keygen -t rsa. 不知道还能做什么。谢谢你们

ssh ssh-keys

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

EC2 实例在连接期间总是要求我输入 pem 的密码

  1. pem 文件由 AWS 控制台生成
  2. 我能够使用 EC2 远程 Web 界面进行连接,使用相同的 pem 文件
  3. pem 的权限已经是 600

错误..

ssh -i ~/test.pem -v ubuntu@ec2-1-2-3-4.compute-1.amazonaws.com

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/john/test.pem
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/john/test.pem':
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

security linux ssh amazon-ec2 amazon-web-services

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