我正在使用标准 ssh 客户端从我的 mac 登录到 Ubuntu 10.04LTS 服务器。在几分钟不活动后,我的 ssh 会话会自动注销。通常这是一个很好的安全措施,但有时真的很不方便。我怎样才能禁用它?
我有一台 CentOS 5.5 服务器。如何使用 SSH 获取服务器上所有 FTP 用户的列表?
在 openssh Red Hat 包中,我注意到ssh-agent可执行文件具有 SGID 权限集:
$ ls -l /usr/bin/ssh-agent
-rwxr-sr-x 1 root nobody 113648 Nov 24 2010 /usr/bin/ssh-agent
Run Code Online (Sandbox Code Playgroud)
为什么openssh 开发人员要ssh-agent与该nobody组一起运行?或者我可能误解了 SGID 的作用?
我最近设置了一个新的 CentOS 5 服务器,它默认安装了 OpenSSH。
当我连接 PuTTY 时,SSH 服务器在提示我输入密码之前告诉我“访问被拒绝”。一旦我提供了密码,我就可以正常登录到我的 shell。它以前从来没有像以前那样工作过,而且我登录时安全日志中没有什么奇怪的,只是登录成功。
login as: admin
Access denied
admin@gold's password:
Last login: Sun Jul 17 00:26:50 2011 from pool-xxx-xx-xxx-xx.phlapa.fios.verizon.net
Run Code Online (Sandbox Code Playgroud)
我在默认配置中进行了一项更改以更改PermitRootLogin为 no。
我还在设置服务器的同一天将 PuTTY 升级到最新版本,尽管这可能无关。
我最近在尝试通过 ssh 进入我的 Ubuntu 11.04 服务器时遇到了以下问题:
ssh greg@site.com
PTY 分配请求在通道 0 上失败
我不确定,但我认为这是在我安装了最新的 Ubuntu 更新之一之后发生的。如果相关,我将从终端(Mac OS X 10.7 - Lion)远程进入。
编辑:事实证明,我可以在我的服务器上以另一个用户(即 matt)的身份进行远程访问……在我看来,这会指向 SSH 密钥问题。如果我从同一台客户端计算机上的另一个帐户远程登录,它对服务器上的所有用户都可以正常工作。
解决方案: 原来我在服务器端的 ~/.ssh/allowedkeys 中有 gitolite 配置。前段时间我不小心以我的用户而不是 git 用户的身份运行了一个配置脚本。这是在禁用所需设置的远程(键匹配)上启动配置(见下文)。我从 allowedkeys 中删除了相关字段,我很高兴。
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty …Run Code Online (Sandbox Code Playgroud) 这个问题让我想起了我自己的一个问题。我想为机器创建一个别名ssh,运行一个命令(在这种情况下,cd到一个提供的路径),然后给我一个 shell。我已经运行了一百个变体:
$ ssh user@machine 'cd /some/path/ && bash -i -l'
Run Code Online (Sandbox Code Playgroud)
这是我能做的最好的事情。它在正确的目录中给了我一个 bash 提示,但没有作业控制,也不能使用箭头键(和其他一些快捷方式)。是否有捷径可寻?
我不能在 bashrc 或配置文件的末尾轻松地做到这一点,因为我想去的路径会有所不同(我会将它作为参数传递给别名),有时,我什至会 ssh 到那台机器根本不想去任何奇怪的地方 - 主目录很好。
我的公司在公司防火墙后面有一个 linux 服务器(CentOS 6 VM),我对 VM 有完全的根控制权,但我无法控制防火墙。有一个 ssh 服务器在它上面运行,我可以在公司网络内通过 ssh 连接到它。
当我在公司网络之外时,我想通过 ssh 连接到这个虚拟机。我如何实现这一目标?
这个linux VM运行在Mac主机上,我可以使用logmein连接,然后访问linux VM。我想直接通过 ssh 连接到 linux VM。
我猜必须有某种由 linux VM 启动到外部机器的握手才能工作?
我有两个运行 Ubuntu 的 OpenVZ VPS。
一方面,我联系ssh console-ABC@ip-1并看到了这段文字:
Last login: Sun Sep 4 03:41:41 2011 from 82.208.149.201
Starting PowerConsole v1.1 <> (c)2010 soluslabs ltd.
please wait...
successfully logged in.
entered into CT 165
Run Code Online (Sandbox Code Playgroud)
在另一个中,我连接root@ip-2并直接获得 shell 提示。
显然,我更喜欢最后一个,因为我可以设置 ssh 密钥,rsync 可以工作等。
但我想知道为什么 VPS 提供商会选择提供控制台。对他们来说更安全还是什么?
删除原始密钥对后,我似乎找不到将新创建的密钥对分配给亚马逊 ec2 实例的选项。我想“拒绝”第一个密钥对访问实例,我认为我成功了,但是,我无法用另一个密钥对重新分配实例。
所以我有我的系统管理员提供的对生产环境的访问权限,但我不相信自己。设置是使用私钥/公钥。
我正在寻找一种在授权我连接到该生产环境(例如重新输入密码或操作某些文件)之前进行手动操作的方法。我必须手动做的任何事情都可以完成。
你有什么建议吗?
(哦,我正在运行 OS X)
ssh ×10
centos ×2
linux ×2
ubuntu ×2
amazon-ec2 ×1
bash ×1
ftp ×1
mac-osx ×1
permissions ×1
redhat ×1
shell ×1
ssh-agent ×1
ssh-tunnel ×1
ubuntu-11.04 ×1
vps ×1