所以我设置了我的 ssh 变量来在 ~/.ssh/config 中做一个反向隧道,并调用主机 tunnel_reverse。我测试了以下命令以使用 autossh 创建持久隧道,并且它按预期工作:
autossh -M 0 -N tunnel_reverse
Run Code Online (Sandbox Code Playgroud)
创建远程主机反向隧道后,我能够从笔记本电脑连接到远程计算机。但是,当我尝试设置服务文件以便它可以在使用 systemd 启动时自动启动时,它不起作用。这是我创建的 /etc/systemd/system/tunnel.service 文件:
[Unit]
Description=AutoSSH to reverse tunnel
After=network.target
[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -v -N tunnel_reverse
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
所以我开始了
systemctl daemon-reload
systemctl restart tunnel.service
systemctl status tunnel.service
Run Code Online (Sandbox Code Playgroud)
查看状态日志,似乎有一个错误,内容如下:
debug1: Server host key: blah blah blah
debug1: read_passpphrase: can't open /dev/tty: No such device or address
Host key verification failed.
ssh exited with error status 255; restarting ssh
Run Code Online (Sandbox Code Playgroud)
我哪里做错了?
我一直在尝试在运行 Windows Server 2012 R2 的 VM 上使用OpenSSH的PowerShell 端口进行公钥身份验证。
我忠实地遵循了安装说明,并确保我的文件权限对于.ssh\authorized_keys. (无法在 Win32-OpenSSH wiki 中发布特定说明的链接,因为我太少,无法发布两个以上的链接,请参阅下面的评论)。
我可以使用用户名/密码按预期从 linux 主机登录到 windows 主机。然而,密钥认证不走运。
我的本地 .ssh/config文件包含:
Host remotehostname
HostName remotehostname
User remoteuser
Port 22
IdentityFile /home/myusername/.ssh/id_dsa
Run Code Online (Sandbox Code Playgroud)
本地.ssh目录中的权限显示正确:
[me@localhost.ssh]$ ls -ltrh
total 56K
-rw------- 1 cengadmin cengadmin 1.6K Sep 11 10:01 known_hosts
-r-------- 1 cengadmin cengadmin 672 Sep 11 10:06 id_dsa
-r-------- 1 cengadmin cengadmin 580 Sep 11 10:13 config
Run Code Online (Sandbox Code Playgroud)
我正在尝试使我的容器可用于所有设备的网络,而不仅仅是 docker 主机。
我正在尝试使我的容器可用于所有设备的网络,而不仅仅是 docker 主机。
我想制作 docker 配置,以便可以从我的网络中的任何地方访问 docker(在我的情况下是 ssh)。
首先创建一个新的桥接设备。
brctl addbr br-em1
ip 链接设置 br-em1
将此设备添加到您的网桥
使用曾经属于 ens160 的地址配置网桥
ip 地址 del 9.158.143.52/24 dev ens160
ip 地址添加 9.158.143.52/24 dev br-em1
将默认路由移动到网桥
到目前为止一切正常。docker …
我正在使用托管在 EC2/AWS 上的 debian 上的 openssh-server 在端口 10022 上运行 sftp 服务器。我为单个用户配置了基于密码的身份验证,但在我提交正确的密码后,服务器连接立即关闭。这是 sftp 客户端的输出:
steve@localhost's password:
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
Authenticated to localhost ([127.0.0.1]:10022).
debug2: fd 4 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Connection to localhost closed by remote host.
Transferred: sent 1972, received …Run Code Online (Sandbox Code Playgroud) 我在 Kubernetes 上部署的 SFTP 服务器遇到了一个奇怪的问题。我怀疑这个问题与 sshd_config 有关,所以我想我会在这里问(已经研究了一段时间的文档,也只是盲目地尝试,但没有任何效果)。
我已经在 Kubernetes 集群中设置了一个 SFTP 服务器,使用与这里隐藏的配置类似的配置:https : //github.com/mikeghen/kubernetes-gcs-sftp
它实际上在 minikube 本地工作得很好!
当我将它部署到我在 Google Kubernetes Engine 上的集群时,我遇到了一些问题。但我认为这与 K8S 无关,我认为与 SSH 相关。
不幸的是,当我尝试从外部 IP 访问 SFTP 服务器时,我被迫使用公钥身份验证(我只想使用密码身份验证)。我用
sftp -vvv -P 22 partner2@35.xx.xx.xx
Run Code Online (Sandbox Code Playgroud)
并得到
OpenSSH_7.5p1, LibreSSL 2.5.4
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 52: Applying options for *
debug2: resolving "34.xx.xx.xx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 34.xx.xx.xx [34.xx.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /Users/mikeghen/.ssh/id_rsa type 1
debug1: …Run Code Online (Sandbox Code Playgroud) 我想在无法访问 Internet 的计算机上安装 Microsoft 提供的适用于 Windows 10 的 OpenSSH 客户端。
通常,安装 OpenSSH 客户端的说明涉及在 PowerShell 中运行如下命令:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)
或者在命令提示符中使用 DISM 工具:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)
但是,我发现这些命令只有在机器可以访问互联网时才有效,这是有道理的,因为每个命令都使用“在线”开关。“在线”开关的存在让我觉得可能有一种方法可以离线执行安装。这种离线安装可能需要下载文件并将其放置在机器上,Add-WindowsCapability或者DISM.exe知道如何使用。
是否可以在没有互联网访问的情况下安装 OpenSSH 客户端?
我正在尝试设置一个 docker 容器,用于绕过防火墙/NAT 以允许 SSH 访问这些路由屏障后面的计算机。本质上,我有一个 SSH 服务在 docker 容器内侦听,我的其他计算机连接到该服务,打开反向 SSH 端口转发,然后如果我想连接到防火墙后面的计算机,我改为连接到我的 dockerized反向端口上的代理服务器。例子:
防火墙计算机“鲍勃”连接到代理服务器:
ssh -R 2024:localhost:22 -N remote.server
Run Code Online (Sandbox Code Playgroud)
接下来,我通过端口连接到远程服务器,2024以便沿着隧道返回并连接到localhost:22bob:
ssh -p 2024 remote.server
Run Code Online (Sandbox Code Playgroud)
当它没有被 dockerized 时,这一切都很好,但是当我试图将它移动到一个 dockerized 服务时,我发现我sshd在docker容器中的服务器顽固地拒绝打开远程端口转发。ssh -vvv在上面的第一步中与 with 连接给出:
...
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 4
debug1: Remote: Server has disabled port forwarding.
debug3: receive packet: type 82
debug1: remote forward failure for: listen 2024, connect localhost:22
Warning: remote port forwarding failed for …Run Code Online (Sandbox Code Playgroud) 在 Google Cloud Platform(GCP) 中创建实例后,我可以单击 SSH 并打开基于浏览器的 SSH 控制台来访问该实例。(在没有本地 ssh 客户端的情况下从控制台本身自动复制和连接密钥)但我注意到这几天后不起作用并且浏览器挂起(在 Firefox、Chrome 等上尝试过)。
有没有人遇到过类似的问题?
注意:连接可以与 putty/本地客户端以及 Cloud Shell 控制台 ( gcloud compute --project "blackforest" ssh --zone "us-east1-b" "test-instance")
ssh google-compute-engine google-cloud-platform gcloud google-cloud-shell
最近,通过 ssh 编辑文件时,nano 开始变得很慢。使用语法突出显示编辑大文件时特别慢。
拉线时最明显。有时会在拉线时延迟超过一秒钟(它们最终确实会被拉动,但这通常意味着一旦刷新屏幕,我最终会抓取比预期更多的线)。
我确实喜欢语法突出显示,但如果这意味着我可以再次恢复正常的编辑速度,我愿意放弃它,但这在过去不是问题,我想知道是否有一些配置更改我可以查看以提高响应时间。
我有两台通过无线电调制解调器连接的 Linux 机器。带宽约2kbps,ping时间约400ms(5%丢包)。
目前,ssh 会话有大约 5 秒的延迟,尽管这会有所不同。原始 telnet 是类似的,只是打开一个 tcp 连接似乎需要永远。
有谁知道在这种情况下如何最好地调整 IP 参数?
ssh ×10
docker ×4
linux ×2
sftp ×2
ssh-tunnel ×2
centos ×1
dism ×1
gcloud ×1
known-hosts ×1
latency ×1
nano ×1
networking ×1
packetloss ×1
powershell ×1
systemd ×1
tcp ×1
ubuntu ×1
windows-10 ×1