我正在尝试绕过医院防火墙。
我可以在端口 443 上通过 SSH 连接到我的 devbox:
ssh -L 8080:devbox:443 root@devbox -p 443
但我实际上无法在浏览器中加载 devbox。当我去localhost:8080我收到以下错误:
SSH-2.0-OpenSSH_4.3
Protocol mismatch.
当我ssh -V得到以下信息时:
开发箱: OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
本地机器: OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
我假设这种差异是导致协议不匹配的原因。谁能建议如何解决不匹配?
我是 AWS 的新手,不是网络专家,但很想了解更多信息。
我创建了一个只有公共子网的 VPC。然后我使用 Ubuntu 14.04 64 位 pv AMI 映像 (ami-e84d8480) 创建了一个 EC2 实例,并生成了通过 ssh 连接到它所需的密钥对。
我按照亚马逊的说明通过 ssh 连接到 EC2 实例,但它不起作用。
这是我尝试的输入和调试日志:
在 OS X 10.9.4 上运行
user$ ssh -vvv -i key.pem ubuntu@xxx.xxx.xxx.xxx
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22.
debug1: connect to address xxx.xxx.xxx.xxx port 22: …Run Code Online (Sandbox Code Playgroud) 我有一个使用 EBS 的 AWS EC2 实例,我想停止使用当前的私钥,并使用一个新的。据我了解,仅删除 AWS 控制台上的密钥对只会删除公有密钥,并不会阻止通过 SSH 使用(旧)私有密钥访问实例。
我尝试了一种解决方法(在此处详细说明),但我意识到这并不能阻止使用旧私钥。
有没有什么办法可以继续使用这个实例并防止使用旧的私钥并发布一个新的,而不必创建一个新实例并重新安装所有东西?您可以进入 Linux 和 SSH 并手动删除对特定密钥的支持吗?
我可以根据需要提供有关实例配置的详细信息。
我想知道如何记录用户在服务器上使用的 SSH 命令行。例如,如果我服务器上的用户 Alex 正在执行以下命令集:
$ cd /tmp
$ touch myfile
$ ssh staff@10.0.0.1
$ ssh staff@10.0.0.2
$ vim anotherfile
$ ssh alex@192.168.0.12
Run Code Online (Sandbox Code Playgroud)
我想将服务器上使用的 ssh 命令记录在一个如下所示的文件中:
[2014-07-25 10:10:10] Alex : ssh staff@10.0.0.1
[2014-07-25 10:18:20] Alex : ssh staff@10.0.0.2
[2014-07-25 11:15:10] Alex : ssh alex@192.168.0.12
Run Code Online (Sandbox Code Playgroud)
我不在乎他在 ssh 会话期间做了什么,我只想知道他何时何地与另一台服务器建立了连接。
用户没有使用 bash,我想避免操作 .bash_history 反正用户可以修改它。
关于这个的任何线索?
谢谢 :)
编辑:更具体:
用户连接到服务器 A,然后从服务器 A 连接到服务器 B。我想追踪他通过 ssh 从服务器 A 连接到的服务器。
在 Rackspace 运行 Ubuntu Trusty 14.04.1 LTS 服务器,但最近在运行 bash 更新后,然后重新启动 xen 主机漏洞,我遇到了以下奇怪的问题。
一些随机的 auth.log 条目弹出了过时的同步,例如:
Oct 14 12:12:10 myserver sshd[2097]: pam_unix(sshd:session): session closed for user
Oct 13 12:58:30 myserver sshd[2522]: Failed password for foo from 21.21.21.21 port 1490 ssh2
Oct 14 12:21:28 myserver sshd[3389]: Accepted password for bar from 22.22.22.22 port 61173 ssh2
Run Code Online (Sandbox Code Playgroud)
我也有一个单独的 cron.log 正在运行,(我更改了 rsyslog 的配置)但那里也有随机过时的同步条目,例如:
Oct 14 07:11:01 myserver CRON[32099]: (root) CMD
Oct 13 03:16:01 myserver CRON[32226]: (root) CMD
Oct 14 07:12:01 myserver CRON[32226]: (root) CMD
Run Code Online (Sandbox Code Playgroud)
编辑添加: …
ssh 公钥由authorized_hosts三部分组成 - 类型、密钥和名称。例如,一个rsa键可能看起来像:
ssh-rsa gn29JyDdiyLFlggptrCxgzS6diAF6o94Dtg<abbreviated>oF9grbm7g+Mtrly NAME1
Run Code Online (Sandbox Code Playgroud)
相同的密钥是否对不同的名称有效,例如:
ssh-rsa gn29JyDdiyLFlggptrCxgzS6diAF6o94Dtg<abbreviated>oF9grbm7g+Mtrly NAME2
Run Code Online (Sandbox Code Playgroud)
我尝试更改接收环境中的名称部分,并且身份验证照常进行
我想知道是否有可靠的参考资料提到名称在任何情况下都不是身份验证过程的一部分 - 我在手册中找不到它。
感谢您的回答和评论。我认为这个问题不是题外话,因为我搜索的术语与文档中的术语不同(名称与评论)。因此,此问题可能是将来搜索此主题的有用入口。
我正在通过 SSH 远程运行 CentOS 6.5 机器。我使用 RSA 密钥并禁用了密码身份验证。我遇到的问题是,每当我添加新用户并希望他/她通过 SSH 登录时,他们都会被拒绝访问。
起初,这似乎是一个简单的问题。这些是我已经尝试过的:
这是我设置的内容sshd_config:
PermitRootLogin no
AllowUsers keving moman muser
Run Code Online (Sandbox Code Playgroud)
这就是我的日志告诉我的:
Login attempted when not in AllowUsers list:
muser : 3 Time(s)
root : 127 Time(s)
Run Code Online (Sandbox Code Playgroud)
为什么 SSH 不允许登录而 AllowUsers 列表显然列出了 muser?还有其他地方可以设置吗?
更新:将我的公钥添加到用户的authorized_keys 文件后,我尝试在我的机器上登录该帐户,并带有详细标志-v。这些是结果(出于安全原因使用假 IP 和服务器主机密钥):
$ ssh -v mattm@111.111.111.111
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Reading configuration data /c/Users/[user]/.ssh/config
debug1: Connecting to …Run Code Online (Sandbox Code Playgroud) 当我们在GitHub 上创建存储库时,我们始终可以使用地址“git@github.com:user/repo”访问它,但它在幕后是如何工作的?
...我的意思是,只有一个 Unix 帐户:“git”,而多个用户使用不同的键和不同的目录使用它......
我在另一篇服务器故障帖子中看到(您如何执行类似于 GitHub 的基于密钥的动态 SSH?)它可能使用命令选项,但它是如何保护的?(它如何限制用户访问他有权访问的文件夹?)
另外,它是如何管理的?它只使用一个authorized_keys-file还是有其他技巧?
我正在运行一堆带有 Ubuntu 14.04.1(sun、hyperion,...)的服务器,所有这些服务器都使用公钥(OpenSSH_6.6.1,OpenSSL 1.0.1f 2014 年 1 月 6 日在所有机器上)进行 rsync,没有问题。几乎所有的...
一个连接失败,配置或密钥没有任何更改。然后我会尝试重新添加密钥,检查 ECDSA,重新启动/重新启动 ssh,它再次工作。或者它没有。在这种情况下,我只是等待一段随机的时间(1 小时到 3 个月)然后做同样的事情。这一次它解决了问题 - 一段时间。
ssh -vvv diff 的相关部分:
连接成功
debug1: Host 'hyperion.internal' is known and matches the ECDSA host key.
debug1: Found key in /home/bar/.ssh/known_hosts:20
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT …Run Code Online (Sandbox Code Playgroud) 情况是这样的:有一个 ssh 客户端(Ubuntu 14.04)和一个 ssh 服务器(Debian 7)。他们之间有一堆网络。SSH 连接很容易(且快速)建立并且工作正常且快速。
但是,如果连接闲置一段时间,就会发生奇怪的事情 - 连接仍然有效:我可以输入命令,运行它们,命令将在服务器上执行,但是如果这些命令之一或总和多次执行产生太多数据(只需几行文本就足够了),然后连接冻结,一段时间后(当我再次按下某物时)与损坏的管道断开连接。在冻结期间,服务器和客户端都将连接处理为仍处于打开状态。
如果有类似“top”之类的东西在那里运行以一直发送数据,则连接不会进入该状态。
我尝试了各种调试选项和日志,但没有看到可以解释发生了什么的提示。最令人困惑的部分是连接在实际冻结之前仍然有效。任何提示表示赞赏。
ssh ×10
linux ×3
amazon-ec2 ×2
public-key ×2
rsa ×2
amazon-vpc ×1
centos ×1
ecryptfs ×1
keys ×1
logging ×1
mac-osx ×1
netbsd ×1
networking ×1
proxy ×1
rsyslog ×1
ssh-keys ×1
ssh-tunnel ×1
syslog ×1
ubuntu ×1
ubuntu-14.04 ×1