我想从外部机器访问在我的办公室防火墙后面的 Web 服务器上运行的 Web 应用程序。
我们有一个运行 sshd 的堡垒主机,它可以从 Internet 访问。
我想知道这个解决方案是否是一个坏主意:
我知道如果我的 RSA 私钥被泄露,那么有人可以通过 ssh 连接到堡垒主机。但是这个解决方案是个坏主意还有其他原因吗?
谢谢你!
我已经按照类似于这篇文章中的说明设置了我的服务器以允许密钥/对身份验证。
据我所知,它工作正常。例如,如果我执行以下操作,它可以正常工作:
ssh myusername@mydomain.com
Run Code Online (Sandbox Code Playgroud)
它不会提示我输入密码。这就是我想要发生的事情。但是,如果我写一个像这样的小 bash 脚本:
#!/bin/bash -x
ssh myusername@mydomain.com
Run Code Online (Sandbox Code Playgroud)
并执行:
sudo ./mytestscript.sh
Run Code Online (Sandbox Code Playgroud)
...它会提示我:
myusername@mydomain.com's password:
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我需要能够从我的脚本中登录而不会被提示输入密码!
当您使用诸如 putty 之类的东西连接到 linux 机器时,并设置 SSH 密钥等。
连接时,它如何告诉服务器您要使用 SSH 密钥进行连接?
SSH 是作为特定端口上的服务运行还是只是传递您的私钥,然后登录服务看到并尝试使用它进行连接?
只是在寻找一个相当高水平的理解(如果你想的话,可能会有一些细节......)
我通过 ssh -x 连接到服务器,而我从系统中获取文本的唯一方法是 x 剪贴板(除非我想对它进行大量的屏幕截图和 OCR)。
我无法在另一台机器上执行任何程序,因为我没有访问权限。
我怎样才能做到这一点?
我服务器上的每个端口都被阻止,除了端口 222 也是 ssh 连接。这台服务器几乎是一个备份服务器,我的客户端 rsync 到它。
我通过使用 ssh 的端口转发 ( -P 222 -L 873:myserver.com:873) 来做到这一点,但是,我只想使用 rsync 命令来做到这一点。那可能吗?
这是我一直在尝试的:
sudo rsync -avv --progress --inplace --rsh='ssh -p 222 -L 873:myserver.com:873' . rsync://bt-backup@localhost/backup-bt-backup
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为我尝试登录本地主机,而不是 myserver.com。
正在做:
sudo rsync -avv --progress --inplace --rsh='ssh -p 222 -L 873:myserver.com:873' . rsync://bt-backup@myserver.com/backup-bt-backup
Run Code Online (Sandbox Code Playgroud)
让我通过 ssh 登录,但 rsync 尝试远程主机而不是端口已转发的本地主机
我在 Amazon EC2 上运行了一些基于 Rightscale CentOS AMI 的实例。两个月前,我发现我们的 SSHD 安全受到威胁(我为 ssh 添加了 host.allow 和 host.deny)。所以我创建了新实例并完成了一个基于 IP 的 ssh,它只允许我们的 IP 通过 AWS 防火墙(ec2-authorize)并将 ssh 22 默认端口更改为其他端口,但两天前我发现我无法登录到服务器当我在 22 端口上尝试 ssh 时,我发现 sshd_conf 已更改,当我尝试编辑 sshd_config 时,我发现 root 没有对该文件的写权限。所以我尝试了一个 chmod,它说“root”用户拒绝访问。这很奇怪。我检查了安全日志和历史记录,没有发现任何信息。我在这些服务器上运行 PHP、Ruby On Rails、Java、Wordpress 应用程序。
这次我做了一个 chkrootkit 扫描并没有发现任何东西。我重命名了 /etc/ssh 文件夹并通过 yum 重新安装了 openssh。我在 CentOS(5.2, 5.4) 上的 3 个实例上遇到过这个问题,我在 Debian 上有实例,也有工作正常的实例。这是一个 CentOS/Rightscale 问题。伙计们,我应该采取什么安全措施来防止这种情况发生。
我怀疑这也可能是内部黑客,因为我们只允许我们的 IP 进行 ssh。
所以我打算使用一个键盘记录器,它可以记录每个用户和终端的所有击键。你能给我推荐一些最适合这个目的的 Linux keylogget 吗?
我确信这是和 ssh 攻击,但不知道他们是怎么做的。CentOS 5仍然使用openssh 4.3,所以我编译了openssh 5.5,发现他们改变了/usr/bin/ssh和/usr/sbin/sshd的属性。我不得不使用 lsattr filename chattr -ia filename 来删除属性并成功编译 openssh。现在我正在尝试设置 chroot 并设置 …
基本上,我该怎么做?
我想在工作时连接到我的家用电脑,但我的互联网是通过我公寓楼的网络路由的,所以我没有我习惯拥有的静态 IP 地址。
如果我的家用计算机没有静态 IP 地址,我该如何通过 SSH 访问我的家用计算机(如果重要的话,我将在工作中使用 Putty)?
好吧我承认...
我愚蠢地通过 ssh 关闭了我的远程服务器,而不是像我想做的那样重新启动它:(
为了防止我再次犯傻,有没有办法在关机命令上显示警告/确认?(例如“您确定要关闭此服务器吗?”是/否)
或者,我是否可以不允许通过 ssh 关闭(但不能重新启动,因为我仍然可能需要不时这样做)?
有没有办法只在用户(ssh)登录时执行命令(或脚本)然后退出?某种用自定义脚本替换默认 shell 的方法。
我希望用户只能重新启动服务,但不能定期访问 shell
谢谢
使用 Mac OSX 10.6.4。我正在尝试通过 ssh 进入我正在使用的同一台计算机。我的电脑的名字就是 MacBookPro。简短的版本是,当我使用其 IP 地址 ssh 到我的机器时,它会暂停大约 40 秒,然后让我进入。
我使用以下方法创建了一个 ssh 密钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
通过 ssh localhost 或 ssh MacBookPro.local ssh 进入我的机器工作得很好。当我尝试使用 ip 地址 ssh 到我的机器时,我是否收到暂停。
MacBookPro:~ nkodner$ ssh -v -v -v 192.168.1.118
OpenSSH_5.2p1, OpenSSL 0.9.8l 5 Nov 2009
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.118 [192.168.1.118] port 22.
debug1: Connection established.
debug1: identity file /Users/nkodner/.ssh/identity type -1
debug1: identity file …Run Code Online (Sandbox Code Playgroud)