如果我不能以 root 身份访问我的每台服务器,我该如何有效地进行修改?
我不允许设置 ssh 密钥或使用 NOPASSWD 打开 sudoers 文件。我无法安装木偶或太空行走。
有时,当我尝试在脚本中包含 sudo 命令时,我会收到错误“没有 tty”。有没有人在这样的环境中工作过?
我想在许多 *nix 机器上发出 kill 命令。我正在尝试做这样的事情:
rsh <remotemachine> ps -ef | grep <somepattern> | awk '{print $2}' | xargs n1 -t -i kill {}
Run Code Online (Sandbox Code Playgroud)
但这会在本地机器上发出 kill 命令,而不是在远程机器上。我也试过这样的事情:
rsh <remotemachine> kill $(ps -ef | grep <somepattern> | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)
但这对我也不起作用。
当我使用 ssh 命令登录到远程 shell 时,会使用我的本地用户名,并且只需要密码(或证书密码)。如何以不同的远程用户身份登录而不在本地 PC 上添加此用户?
我使用 PuTTY 从我的 MS Windows 工作站连接到我的一台 Linux 服务器(我使用 PuTTY 相关工具之一在 MS Windows 上生成它们,我不记得我在生成密钥时使用了哪些参数)。现在我正在尝试从我的 Ubuntu GNU/Linux 工作站连接到同一台服务器。我的 ~/.ssh 中已经有私钥/公钥对:
id_rsa
id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
现在,除了我已经拥有的那些私钥/公钥对之外,我还想添加私钥/公钥对以连接到我的 Linux 服务器。对于 PuTTY,我有两个文件可以让我成功连接到我的 Linux 服务器:
emrePrivate.ppk
emrePublic.pub
Run Code Online (Sandbox Code Playgroud)
我已将上述文件复制到我的 ~/.ssh 目录中。然后我尝试使用以下命令连接到我的服务器:
$ ssh -v -i /home/emre/.ssh/emrePrivate.ppk emre@yafz.org
Run Code Online (Sandbox Code Playgroud)
但我看到它试图使用错误的公钥。这是输出:
OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to yafz.org [109.74.204.147] port 22.
debug1: Connection established.
debug1: identity file /home/emre/.ssh/emrePrivate.ppk type -1
debug1: Remote protocol version 2.0, remote software …Run Code Online (Sandbox Code Playgroud) 我已经/etc/ssh/ssh_config在我的 ubuntu-server 安装中为 SSH 定义了一个自定义端口,并且在重新启动服务器后它仍然在端口 22 上接受 SSH。
除了......还有什么我需要做的吗?
Host *
PermitRootLogin no
Port 6685
Protocol 2,1
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Run Code Online (Sandbox Code Playgroud) 我是 ubuntu 并且我有 iptable 规则,所以如果我在一分钟内有 5 次登录,数据包应该被丢弃。
这工作正常,但 20 分钟后,黑客再次开始暴力破解。
我希望如果有蛮力尝试,那么该 IP 应该转到 hosts.deny。
是否可以在不使用任何第三方软件的情况下做到这一点
这个问题是给安全专家的。
我来自哪里,我们有一个免费的在线空间,但是一些邻国和朋友和博主经常因写博客而被捕。
我试图以不同的方式帮助一些活动家和朋友绕过审查并保护他们的在线身份
我正在研究如何建立无法追踪的 ssh 连接 - 我们正在考虑 ssh 隧道/代理
我将不胜感激您可以分享的任何建议、教程和链接。
我也在为博主写一些更一般的文章 - 欢迎你的建议和想法,这是我几天前的第一篇文章http://migh.info/2010/09/outsmarting-censorship-1/
我真的很感谢你的帮助
编辑:到目前为止的计划是进行以下设置:
所以现在,在 a 和 f 之间,有不同的协议、不同的连接和遍历这么多点,以至于取证人员将在大海捞针中寻找针头。说真的,我们可以继续使用其他协议和中间的 ip 包修改。这将使取证经验用于测试。
我已将路由器配置为接受带有密码的公钥 SSH 会话。它们的密钥对是使用 Windows 上的 PuTTY 工具生成的。
我可以使用 Putty 工具从 Windows 和 Linux 打开会话,但我不能ssh在 Linux 上这样做。
当提示输入ssh密钥文件的密码时,它失败了。前任:
~$ ssh root@my.domain.com -p 123 -i ./key-ddwrt.ppk
DD-WRT v24-sp2 micro (c) 2010 NewMedia-NET GmbH
Release: 06/09/10 (SVN revision: 14583)
Enter passphrase for key './key-ddwrt.ppk': <*******>
Enter passphrase for key './key-ddwrt.ppk': <*******>
Enter passphrase for key './key-ddwrt.ppk': <*******>
Run Code Online (Sandbox Code Playgroud)
但使用plink作品:
~$ plink -P 48884 -ssh -l root -i ./key-ddwrt.ppk my.domain.com
Using username "root".
DD-WRT v24-sp2 micro (c) 2010 NewMedia-NET …Run Code Online (Sandbox Code Playgroud) 我有一个远程服务器,我需要通过 VPN 管理到另一个数据中心。我曾经从(服务器 A)连接到它的服务器正在退役,所以我在同一个 VLAN(服务器 B)上使用另一个。
服务器 A 和 B 运行相同版本的 SSH (SSH-2.0-OpenSSH_4.3) 并具有相同的 /etc/ssh/ssh_config 文件。
服务器 A 和 B 都有 RSA 密钥,公共部分存储在远程机器上的 .ssh/authorized_keys 中。
当我从服务器 A ssh 到远程机器时,我立即进入。
当我从服务器 B ssh 到远程机器时,我必须等待大约 20 秒或更长时间。
我已经在详细调试模式下运行 ssh,它挂在服务器 B 上的部分在这里:
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename /home/user/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug1: Host '10.10.10.50' is known and matches the RSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:1
debug2: bits set: 493/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode …Run Code Online (Sandbox Code Playgroud) 有一个远程主机,每次我通过 ssh 连接到它时,我都想在那里运行一个特定的脚本。我应该把要自动运行的文件放在哪里?