标签: ssh

autossh 按预期通过 systemd 设置启动失败

所以我设置了我的 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)

我哪里做错了?

ubuntu ssh ssh-tunnel systemd

5
推荐指数
1
解决办法
2484
查看次数

OpenSSH 的公钥认证 Windows 端口

我一直在尝试在运行 Windows Server 2012 R2 的 VM 上使用OpenSSH的PowerShell 端口进行公钥身份验证。

我忠实地遵循了安装说明,并确保我的文件权限对于.ssh\authorized_keys. (无法在 Win32-OpenSSH wiki 中发布特定说明的链接,因为我太少,无法发布两个以上的链接,请参阅下面的评论)。

我可以使用用户名/密码按预期从 linux 主机登录到 windows 主机。然而,密钥认证不走运。

本地(linux 主机)配置

我的本地 .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)

远程(windows 主机)配置 …

powershell ssh known-hosts windows-server-2012-r2

5
推荐指数
1
解决办法
9055
查看次数

将 docker 容器连接到本地网络

我想做什么

我正在尝试使我的容器可用于所有设备的网络,而不仅仅是 docker 主机。

信息

  • 我的网络子网是 9.158.143.0/24
  • 我的网关是 9.1158.143.254
  • 我的 docker 主机 IP 是 9.158.143.52 主接口 (ens160)
  • 我的容器 IP 是 9.158.143.65
  • docker-pid 是 docker 进程 ID
  • docker id 是 docker ip

我想做什么

我正在尝试使我的容器可用于所有设备的网络,而不仅仅是 docker 主机。

我想制作 docker 配置,以便可以从我的网络中的任何地方访问 docker(在我的情况下是 ssh)。

到目前为止的步骤

  1. 首先创建一个新的桥接设备。

    • brctl addbr br-em1

    • ip 链接设置 br-em1

  2. 将此设备添加到您的网桥

    • brctl addif br-em1 ens160
  3. 使用曾经属于 ens160 的地址配置网桥

    • ip 地址 del 9.158.143.52/24 dev ens160

    • ip 地址添加 9.158.143.52/24 dev br-em1

  4. 将默认路由移动到网桥

    • ip route del 默认
    • ip route 通过 9.158.143.254 dev br-em1 添加默认值

到目前为止一切正常。docker …

networking ssh linux-networking docker

5
推荐指数
1
解决办法
5697
查看次数

sftp 连接在正确密码后关闭

我正在使用托管在 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)

ssh sftp amazon-web-services docker

5
推荐指数
1
解决办法
1万
查看次数

无法从本地主机外部使用密码身份验证进行 SFTP

我在 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)

ssh sftp docker google-kubernetes-engine

5
推荐指数
1
解决办法
2471
查看次数

在没有互联网访问权限的 Windows 中安装 OpenSSH 客户端

我想在无法访问 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 客户端?

ssh dism windows-10

5
推荐指数
1
解决办法
2万
查看次数

Docker 容器内的远程端口转发

我正在尝试设置一个 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)

ssh ssh-tunnel docker

5
推荐指数
1
解决办法
8097
查看次数

默认 ssh 在 GCP Console 中不起作用,浏览器崩溃或挂起

在 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

5
推荐指数
1
解决办法
1万
查看次数

nano 在 ssh 上非常慢

最近,通过 ssh 编辑文件时,nano 开始变得很慢。使用语法突出显示编辑大文件时特别慢。

拉线时最明显。有时会在拉线时延迟超过一秒钟(它们最终确实会被拉动,但这通常意味着一旦刷新屏幕,我最终会抓取比预期更多的线)。

我确实喜欢语法突出显示,但如果这意味着我可以再次恢复正常的编辑速度,我愿意放弃它,但这在过去不是问题,我想知道是否有一些配置更改我可以查看以提高响应时间。

linux ssh centos nano

5
推荐指数
1
解决办法
465
查看次数

针对低吞吐量网络的 Linux TCP/IP 调整?

我有两台通过无线电调制解调器连接的 Linux 机器。带宽约2kbps,ping时间约400ms(5%丢包)。

目前,ssh 会话有大约 5 秒的延迟,尽管这会有所不同。原始 telnet 是类似的,只是打开一个 tcp 连接似乎需要永远。

有谁知道在这种情况下如何最好地调整 IP 参数?

linux ssh latency tcp packetloss

5
推荐指数
1
解决办法
953
查看次数