Articles of ssh

SSH连接错误,连接到不同的OpenSSH版本

我刚刚在我的服务器上安装了安装的debian 9。 在这个过程中,我使用SSH连接时遇到了一个相当奇怪的行为。 有时候,连接到我的服务器可以很好地工作,其他时间不是这样。 我安装的唯一东西是openssh-server,apt-get install openssh-server,它运行时使用默认设置。 我注意到我的SSH客户端的日志,Bitvise 6.24服务器在连接时响应不同的版本。 有时会说SSH-2.0-OpenSSH_5.8 ,然后我无法连接。 当它说SSH-2.0-OpenSSH_7.4p1 Debian-10它工作得很好。 我对Debian来说很新,也不知道为什么它的行为如此。 在我的机器上运行openssh-server可能有多个版本吗? 我试图排除故障,但没有得到多less。 这是你们以前看过的东西,还是知道如何解决? 21:11:41.304 Started a new SSH2 session. 21:11:41.314 Connecting to SSH2 server XXX.XXX.XXX.XXX:22. 21:11:41.507 Connection established. 21:11:41.798 Server version: SSH-2.0-OpenSSH_5.8 <—– 21:11:41.798 First key exchange started. 21:11:42.438 Received a new host key from the server. Algorithm: ………… 21:11:44.331 First […]

ssh本地端口到服务器的内部端口

我正在使用VPS进行一些开发,但是VPS基本上与互联网断开连接,我无法直接连接到它,除非我在家中通过代理。 但是在旅途中,我需要使用家庭代理连接到它。 有什么办法可以做到: Laptop -> ssh -> local proxy -> server 所以基本上我想连接到我的家用电脑使用SSH,并在我的家用电脑上使用内部代理。 我正在考虑用ssh me @ home -D1234来做一些事情,然后告诉浏览器在localhost:1234上使用socks5,但是我不知道如何在服务器上使用内部代理。 所以我的问题是,有什么办法可以做一个直接的redirect laptop:1234 -> home:8080 使用我的本地本地代理?

AWS EC2 – 运行certbot-auto后无法连接

我有一个已经运行好几年的AWS EC2实例。 我有一个“letsencrypt”证书,我尝试使用certbot-auto脚本进行扩展。 脚本在安装/更新'cryptography'时卡住了,几分钟后,我从ssh得到'broken pipe'消息。 这是当时发生的事情: Collecting certbot-apache==0.15.0 (from -r /tmp/tmp.RYkFrIBj5R/letsencrypt-auto-requirements.txt (line 184)) Downloading certbot_apache-0.15.0-py2.py3-none-any.whl (135kB) 100% |████████████████████████████████| 139kB 28.3MB/s Collecting certbot-nginx==0.15.0 (from -r /tmp/tmp.RYkFrIBj5R/letsencrypt-auto-requirements.txt (line 187)) Downloading certbot_nginx-0.15.0-py2.py3-none-any.whl (65kB) 100% |████████████████████████████████| 65kB 24.6MB/s Requirement already satisfied (use –upgrade to upgrade): setuptools>=11.3 in /root/.local/share/letsencrypt/lib/python2.7/site-packages (from cryptography==1.8.2->-r /tmp/tmp.RYkFrIBj5R/letsencrypt-auto-requirements.txt (line 45)) Installing collected packages: argparse, pycparser, asn1crypto, […]

在另一台服务器上访问服务(绑定到本地主机)

有一个运行服务/守护进程的Ubuntu 16.04服务器,只监听127.0.0.1。 第二台Ubuntu 16.04服务器需要查询仅在第一台服务器上find的服务/守护进程。 有没有办法做到这一点? SSH隧道会工作吗?

SSH多因素authentication

概要 我可以分别进行authentication吗? 公钥+ Google身份validation器 鸢尾花 指纹 内容 我知道有很多OpenSSH多重身份validation的文档,指南。 但是我正在制作一个支持Fingerprint,Irisauthentication的PAM模块(和一个应用程序)。 所以我想要那些authentication。 公钥+ Google身份validation 鸢尾花 指纹 所以如果用户没有支持Fingerprint或Iris的设备(或者设备不可信),我应该让用户使用公钥和Google Authenticator来validation用户身份。 但是,如果用户可以通过我制作的模块进行身份validation,则用户可以跳过公钥和Google身份validation。 我可以configurationOpenSSH来做到这一点吗? 注意。 PAM模块不是问题。 OpenSSH的configuration是。

Linux的 – 是否有可能(和安全?)通过SSHreplace根分区?

想象一下你在云上有一个VPS,并且想要完全replace原来安装的操作系统。 鉴于您已经准备好了一个完整的根文件系统映像,可以像下面这样展开它: cat rootfs-image.bin.gz | ssh root@remotehost 'gunzip | dd of=/dev/sda1' 这是一个可靠的解决scheme(或者至less要起作用),除了每一个突然的networking故障都会导致重新创build服务器? sshd , bash , gunzip和dd进程的pipe道是否在其可执行文件和共享库在块设备上被覆盖时正常运行,或者这个想法从一开始就注定要失败?

腻子软件导致networking中止

几个月来,我的笔记本电脑上遇到了这个问题。 如果我从任何其他电脑(本地或远程)连接,我没有问题,同一个用户。 问题: 在Windows 10上使用Putty,我可以连接到服务器,input用户名。 只要我按回车,我看到提示input密码,但我也收到一条消息: “networking错误。软件导致连接中止” 当我点击确定窗口变得无效。 这发生在腻子上。 尝试在同一台PC上连接WinSCP也会发生。 如果我尝试在我的桌面上没有问题。 每次尝试连接时都会发生这种情况。 我试过了什么: 新的IP地址 重新安装Putty和WinSCP 重置路由器 检查服务器日志(“groot sshd [10669]:由192.168.1.1端口重置连接54916” 这是我尝试连接时在日志中出现的唯一行。 编辑: 我最近在另一个位置放了一个Wifi接入点,而不是我们的主要位置。 我决定尝试这个,它的工作。 这一定是与无线路由器有关。 我想这也发生在发送密钥时,因为我尝试连接到不同的服务器,并且一旦我确认新的密钥,就点击是,窗口变为非活动状态,出现相同的错误。 编辑2:事件日志放下 2017-07-05 15:53:58 Connecting to 192.168.1.191 port 22 2017-07-05 15:53:58 We claim version: SSH-2.0-PuTTY_Release_0.69 2017-07-05 15:53:58 Server version: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 2017-07-05 15:53:58 Using SSH protocol version 2 2017-07-05 15:53:58 Doing […]

反向SSH隧道由于多个连接和ssh重启而失败

我有一个远程摄像头,通过反向通道连接到防火墙的针孔。 我正在使用autossh来维护链接。 我有crontab作业在启动时运行以下bash脚本,此后每30分钟运行一次。 如果ssh停止,autossh会重新启动它。 如果autossh停止,该脚本将重新启动。 这是一个腰带和大括号的方法。 #!/bin/bash #runs the autossh command # sets up a reverse tunnel # ver 1.0 30 Apr 2017 logger "Running auto_ssh_running.sh" TST=$(ps -A | grep autossh -c) if [ $TST -eq 0 ] then logger "Restarting autossh" autossh -f -M0 dynamicIP.no-ip.biz -l root -NR 9001:localhost:22 -p 12345 -i /home/dazz/.ssh/id_rsa -vvv […]

其他端口上的SSH或telnet不能从特定的networking上运行

联想服务器自一年半以来运行良好。 很快,我们开始从我们的办公室networking连接到它的问题。 我重新安装了Ubuntu的16.04服务器上。 它有两个以太网端口,一个用于公共ip,另一个用于内部networking。 当试图连接移动networking或从我们当地的办公networking中的一个特定的服务器,一切运作良好,但一旦我试图从我或我的同事本地电脑,或另一个办公室服务器连接到它,我得到超时,在ssh端口,80,443等 服务器端有一个防火墙,但这不是从同一个networking的问题,连接工程从一些机器,但不是从别人? 谢谢。

通过SSH的mysqldump用crontab静默失败

一位同事正在按计划从linux机器上备份Windows机器上的mysql数据库。 linux和windows机器使用不同版本的mysql,所以我们不能在linux机器上运行mysqldump并将它连接到Windows机器,所以他通过SSH在Windows机器上运行mysqldump,并将输出传输到一个文件。 他写了一个脚本,testing了它,然后用cron(没有testing过)安排它,当然,它失败了 – 当通过cron运行时,mysqldump的SSH没有输出,所以备份文件是0字节。 相同的脚本运行没有cron产生一个mysql备份。 那时候我介入了。 我用几种不同的方式摆弄它。 我已经将env引导到磁盘,添加了SSH冗长,想知道是否与TTY有什么关系,所以尝试了-t , -tt和-T ,但是我仍然不知道为什么失败。 通过向SSH添加-v可以看到正在build立连接,validation成功,正在发送命令。 唯一真正的区别是,当我通过cron调度脚本时,mysqldump输出丢失。 如果有人认为他们会帮助,我可以发布SSHdebugging日志的清理输出。 可以得到Windows,CentOS和MySQL版本,如果他们是相关的。 乐于尝试build议。 最终,我们可能会将mysqldump输出redirect到Windows磁盘上,然后复制该文件,所以可能有一个替代path,但是我对发生的事情感到困惑,而且我更愿意理解。 ;)