我总是ssh使用-i参数运行,并且总是为我连接的任何主机输入正确的密钥很麻烦。
是否有配置文件或其他东西(在 Mac 上)来定义连接到特定主机时要使用的私钥?
我有安装了CopSSH 的Windows Server 2003 (Cygwin + sshd)。我希望能够通过 SSH 会话命令运行 PowerShell 脚本,然后使用其输出。有这种能力吗?怎么做?
我已经通过该adduser工具向系统添加了一个用户。然后,在 中/etc/passwd,我尝试将/bin/bashto/sbin/nologin或 to更改为/dev/null,但这些都不起作用。
我希望用户没有获得交互式 shell 的选项,而只能使用sftp. 有办法吗?
我知道以前有人问过这里,但似乎没有人给出满意的答复。
是否可以执行简单的内联样式 SSH 命令,例如:
ssh foo@bar.com { cd foo/bar && rm *.foobar }
Run Code Online (Sandbox Code Playgroud) 在我的新 ec2 版本上运行几天后,发生了以下情况:
e了——输入时出现错误提示nano或vi与e工作正常,只是没有在bash或sh这令人费解!我什至可以从哪里开始进行故障排除?
我的本地机器设置:
EC2 设置
没有其他模组
stty -awhile I can't type an 的输出e
sh-4.1$ stty -a
speed 38400 baud; rows 30; columns 95; line = 0;
intr = ^C; …Run Code Online (Sandbox Code Playgroud) 我已经设置了一个带有 Rails 包的 Ubuntu 实例,部署了我的应用程序,它运行良好。
但是,当我尝试做SSH,这不是让我对远程登录并抛出这样的错误:Host key verification failed。
问题似乎一直存在。我已将弹性 IP 附加到该实例,但无法看到公共 DNS。
我的实例在新加坡地区运行。
ssh 调试输出:
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 46.137.253.231 [46.137.253.231] port 22.
debug1: Connection established.
debug1: identity file st.pem type -1
debug1: identity file st.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu6
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0 …Run Code Online (Sandbox Code Playgroud) 我在家里的电脑上的 ~/.ssh/config 中有一个条目,如下所示:
host foo bar
ProxyCommand ssh -x -a -q gateway.example.com nc %h 22
Run Code Online (Sandbox Code Playgroud)
gateway.example.com连接到公共 Internet 和内部网络的工作服务器在哪里。网关框使用 /etc/hosts 中的条目解析 foo 和 bar。
我的问题是我需要到达foo. 我们称之为“巴兹”。“baz”主机位于 foo 连接到的另一个专用网络上,但不是“网关”连接到的那个。
我试过用这个:
host baz
ProxyCommand ssh -x -a -q gateway/example.com ssh foo nc %h 22
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我有点超出我的深度。我该怎么做呢?
我认为这不重要,但我在 Ubuntu 10 中这样做。
我有一个格式如下的公钥:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==
---- END SSH2 PUBLIC KEY ----
Run Code Online (Sandbox Code Playgroud)
通常我会看到这样格式的键:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]
Run Code Online (Sandbox Code Playgroud)
我可以只复制authorized_keys 文件中的第一个密钥,还是必须以某种方式修改它,使其看起来像第二个?我认为第一个是由 PUTTYgen 生成的,而第二个是由 ssh-keygen 生成的。
我越来越喜欢mosh,当我的 wifi 链接不可靠时,我越来越多地使用它。我想弄清楚的是如何通过位于 DMZ(连接到互联网和防火墙网络)中的服务器建立隧道。
我当前使用 ssh 的解决方案是编辑.ssh/config以包含以下行:
Host server-behind-firewall
ProxyCommand ssh server-in-dmz nc %h %p
Run Code Online (Sandbox Code Playgroud)
我还想出了如何使用 ssh 来做一条腿而另一条腿:
ssh -t server-in-dmz mosh server-behind-firewall
Run Code Online (Sandbox Code Playgroud)
在 server-in-dmz 和 server-behind-firewall 之间,我使用 screen 设置了一个 mosh 会话。
但是我真的很想从头到尾使用 mosh。我想我必须安装 server-in-dmz 才能让 mosh-server 监听。但是 mosh-server 的手册页说“如果在 60 秒内没有客户端联系它,它将退出。”
简而言之,问题是:如何建立多主机的mosh隧道?
设想:
我试过:先连接到 WiFi,然后断开以太网;并先断开以太网,然后再连接到 WiFi。这两种方法都不起作用。在使用 Ubuntu 和 OS X 服务器以及两个操作系统选项以及客户端时也尝试过。没运气。
似乎我需要某种方式告诉我的 SSH 连接它应该开始使用新连接的网络接口而不是旧的断开连接的接口。有任何想法吗?
我意识到我可以整天呆在 WiFi 上,但我不想那样做。我也意识到我可以只在远程服务器上的屏幕会话中工作,然后在更改接口后重新连接到该屏幕会话,但我也不想这样做。例如,我可能正在通过管道传输一些大命令,例如通过 SSH 进行数据库转储,或者我可能通过 SSHFS 打开文件,或者我可能只是想避免重新连接的麻烦
ssh ×10
amazon-ec2 ×2
ssh-keys ×2
bash ×1
copssh ×1
cygwin ×1
keepalive ×1
linux ×1
networking ×1
powershell ×1
proxy ×1
public-key ×1
sftp ×1
sh ×1
sshfs ×1
tunneling ×1
upload ×1
wifi ×1
windows ×1