我正在处理一个非常慢的外壳连接。它在云端,我离服务器很远。我的连接有时也会中断,因为它是通过 Internet 连接的,而且我也可能使用共享 Wifi 或 3G。有没有办法立即查看我输入的内容?尝试输入命令并等待每个字符是残酷的。
authorized_keys 有一个 command="..." 选项,将密钥限制为单个命令。有没有办法将一个键限制为多个命令?例如,通过在那里使用正则表达式,还是通过编辑其他配置文件?
我正在研究运行 FreeBSD 和 SSH 的嵌入式设备。
如您所知,sshd 喜欢在首次启动时随机生成一组服务器密钥。问题是我们将运送带有只读 SD 卡文件系统(不可协商)的产品。
我看到的两个选项是:
在所有设备上发送相同的服务器密钥是否是一个主要的安全问题?这些项目不会直接在互联网上。有时,同一个人在同一网络上拥有多台设备。
大多数情况下,设备不会连接到互联网。
使用 SSH 登录不是正常操作的一部分。它主要是为了方便程序员和技术人员。客户将不会使用 SSH 登录设备。
在多个硬件设备上使用相同的服务器密钥有什么后果?
PS有人可以创建一个物联网标签吗?
编辑:我说的是在所有服务器(设备)上安装相同的主机私钥。至于用户公钥/私钥,目前没有计划使用基于密钥的登录 - 它将是密码登录。同样,所有服务器(设备)上的密码相同。
我知道这可能是个坏主意。我想知道为什么这是一个坏主意,所以我可以理解权衡。
我编写了一个脚本,用于将新服务推送和部署到我控制的多台机器上,为了执行该过程,我使用 ssh 远程启动该过程。
不幸的是,每当我使用 SSH 启动进程时,SSH 命令似乎永远不会返回,导致脚本停止。
该命令指定为:
ssh $user@$host "/root/command &"
Run Code Online (Sandbox Code Playgroud)
每当我运行简单的命令(例如 ps 或 who)时,SSH 命令都会立即返回,但是当我尝试启动我的进程时,它不会返回。
我尝试了一些技巧,比如将我的进程包装在一个简单的 bash 脚本中,该脚本启动进程然后退出,但是这也会挂起 SSH 命令(即使 bash 脚本回显成功消息并正常退出)。
有没有人知道是什么导致了这种行为,以及如何在进程开始后立即让 SSH 命令返回?
我的家庭网络中有两台物理服务器,linux ( 192.168.8.x) 和 windows server 2008 ( 192.168.8.y)。
linux 服务器无法通过非标准端口(例如 23008)上的 ssh 从外部访问。如何在 linux 机器上通过 ssh 建立永久的 RDP 隧道?我知道我可以在外部机器上使用 putty,但我不知道如何在 linux 机器上正确设置 sshd。感谢您的任何提示!
我想更改运行 Linux CentOS 6 的 SSH 端口。
从我在论坛上读到的内容来看,人们建议更改我的/etc/ssh/sshd_config文件以使用不同的端口号,然后重新启动 SSHD 服务。
我还注意到有一个ssh_config文件和sshd_config. 两者有什么区别?我应该两者都改变吗?
使用 Putty,我设置了一个反向代理,它允许我在服务器的端口 8080 上连接server.tld到启动 SSH 连接的机器的端口 80。
服务器允许我连接localhost:8080并返回initiator:80我在服务器上连接时的结果。
这个问题说要启用 GatewayPorts 并绑定到所有地址。
使用 Putty,如何在服务器上公开端口 8080,以便当外部接口(例如 Web 请求)上的请求通过时,端口被转发到initiator:80?

我的问题是我需要设置几个变量,并且每次登录ssh shell时输出几行,同时我必须能够使用sftp通过Filezilla tarnsfer文件。
现在,根据http://www.openssh.org/faq.html 上的 openssh 常见问题解答,如果您的启动脚本回显任何类型的输出,它就会与 sftp 混淆。因此,它要么无限期地延迟,要么因“连接被服务器关闭,退出代码为 128”而出错。
我尝试过将 .bashrc 移动到 .bash_profile 或在 .bashrc 中使用以下代码的解决方案:
if [ "$TERM" != "dumb" ]
then
source .bashc_real
fi
Run Code Online (Sandbox Code Playgroud)
和:
if [ "$TERM" = "xterm" ]
then
source .bashc_real
fi
Run Code Online (Sandbox Code Playgroud)
但是,没有任何效果。我的 shell 终端是 bash,我使用 filezilla 连接到 sftp。
这是很容易让我连接到我的远程MySQL服务器上使用AWS sequelpro,但是我用的MongoDB做同样的事情挣扎。
我尝试通过命令行设置 ssh 隧道,如下所示:
ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com
Run Code Online (Sandbox Code Playgroud)
我也试过用 ip 地址替换主机
这个想法是将端口 9999 上的所有 mongodb 连接转发到主机上端口 27101 上的连接。但是当我运行命令时:
mongo --host localhost --port 9999
Run Code Online (Sandbox Code Playgroud)
连接失败,我得到了这个:
MongoDB shell version: 2.6.0
connecting to: localhost:9999/test
channel 2: open failed: connect failed: Connection timed out
channel 3: open failed: connect failed: Connection timed out
2014-05-22T14:42:01.372+0300 DBClientCursor::init call() failed
2014-05-22T14:42:01.374+0300 Error: DBClientBase::findN: transport error: localhost:9999 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:148
exception: connect failed …Run Code Online (Sandbox Code Playgroud) 我已尝试yes | ssh root@10.x.x.x尝试接受 RSA 密钥指纹,但仍会提示我是否确定要连接。有没有办法让这个自动?