我自己用阿里云的服务器的时候,发现ssh连上以后,一会不用就断掉了,非常不方便,服务端的系统是ubuntu. 查了些东西,原来可以去配置服务端的sshd,或者客户端的ssh,就行了.

1,配置服务器端sshd,这样所有连该服务器的会话都会产生效果

找到

/etc/ssh/sshd_config

添加一行

ClientAliveInterval  30

这样server端每30s就会向client端发送一个keep-alive包, 来保持连接

还可以加上一行,指定发送keep-alive包的最大次数

ClientAliveCountMax  

如果发送keep-alive包次数达到60, 而客户端还没有反应,则server端的sshd断开连接

也就是如果什么都不操作,这个配置可以让连接保持30*60s , 30分钟

2,如果没有服务器权限,可以配置客户端ssh,这样对这个客户端发起的所有会话都会产生效果

找到

/etc/ssh/ssh_config

同样添加上面跟上面了两个差不多的参数

ServerAliveInterval 
ServerAliveCountMax 

这样就是ssh向服务端sshd发送keep-alive包

3, 也可以指定某个特定的会话

ssh -o ServerAliveInterval=  root@192.168.12.192

ssh带上 -o 参数就可以以配置文件的参数指定这一次会话,  向上面就会一直保持这次会话.

关于SSH

SSH是Secure Shell的缩写, 是一个应用层的加密网络协议, 它不只可以用于远程登录, 远程命令执行,还可用于数据传输.

当然它由ssh Client和ssh Server端组成, 有很多实现, Ubuntu上就默认安装的OpenSSH, Client端叫做ssh, Server端叫做sshd.   OpenSSH只用来做远程登录和命令执行.

1, 把ssh server运行在特殊端口

SSH Server运行的默认端口是22,有时候内部服务器,为了防止外部尝试连接,会把sshd运行在一个陌生的端口,只对内部开放.

使用 -p

/usr/sbin/sshd -p 

或者在sshd配置文件中指定

Port  

这时SSH Client去连接也需要指定端口

ssh root@192.168.12.192  -p 

2,scp使用的是ssh协议

另外我们经常用的,用作远程加密文件传输的scp (Secure Copy), 就是使用的SSH协议

scp /home/wangyu/file root@192.168.12.192:/srv/

也就是实际上,scp会做为ssh client先和ssh server确定传输通道, 当然默认也是端口22.

如果服务端的ssh server没有运行,那scp是无法连接成功的

如下是我的测试

当然如果ssh server运行在特殊指定的端口,那scp也必须去指定这样的端口

我们把sshd运行在2222端口,那scp要通过 -P 去指定

scp -P  /home/wangyu/test root@192.168.12.192:/srv/

ssh连接linux服务器不断开- "Write failed: Broken pipe"的更多相关文章

  1. Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法

    python通过ssh连接linux服务器,部分服务器出现如下异常 03:50:48.725 FAIL ftp operation failed, Incompatible ssh peer (no ...

  2. ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法

    ssh连接linux服务器只显示-bash-4.1#不显示路径时,我们只需要修改  ~/.bash_profile文件,如果不存在这个文件,那么新建一个,增加内容  export PS1='[\u@\ ...

  3. mac通过自带的ssh连接Linux服务器并上传解压文件

    需求: 1:mac连接linux服务器 2:将mac上的文件上传到linux服务器指定位置 3:解压文件 mac上使用命令,推荐使用 iterm2 .当然,也可以使用mac自带的终端工具. 操作过程: ...

  4. 如何解决SSH连接Linux超时自动断开?

    最近项目开发中用到云服务器,部署了MySQL,开发团队总是反映MySQL过一会儿就断开连接了,必须手动重连才可以.反映越来越强烈,已经到了影响开发进度的高度了,必须解决! 查了资料,这个可能和SSH超 ...

  5. linux:解决SSH连接Linux超时自动断开

    用SSH登录到Linux的时候,由于默认的连接超时时间很短,经常断开! 1.修改文件 # vi /etc/ssh/sshd_config 2.重启sshd服务 # /etc/init.d/sshd r ...

  6. 通过SSH连接linux服务器

    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专 ...

  7. 解决ssh连接linux服务器速度慢

    服务器端sshd配置文件 /etc/ssh/sshd_config 看是否有如下的两条配置条目 GSSAPIAuthentication no UseDNS no 如果前面带#,请把#删掉,或者新添加 ...

  8. 解决Linux下ssh登录后出现 报错 Write failed: Broken pipe 的方法

    解决也很简单,在执行 ssh 命令的时候,多加一个参数即可,如下: ssh -p 2200 -o ServerAliveInterval=60 root@8.8.8.8 #服务器 8.8.8.8 的远 ...

  9. Mac下ssh连接远程服务器时自动断开问题

    在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...

随机推荐

  1. Oracle数据库中的优化方案

    来自: http://woainichenxueming.iteye.com/blog/726541 一. 优化oracle中的sql语句,提高运行效率 1. 选择最有效率的表名顺序(只在基于规则的优 ...

  2. 删除RAC集群节点

    删除GRID集群节点:参考oracle database 11g RAC手册(第二版) 目前GRID集群中节点信息:[grid@node1 ~]$ olsnodesnode1node2node3nod ...

  3. centos 7 yum configuration; yum localinstall

    Linux下对于软件包的管理使用rpm管理方式.直接使用rpm包管理工具来进行rpm包的安装,升级,卸载时,对于最让人头疼的莫过与包之间的依赖关系.yum作为一个rpm包前端管理工具,可以自动处理依赖 ...

  4. docker daemon configuration

    于 Docker的分层镜像,除了 aufs,docker还支持btrfs, devicemapper和vfs,你可以使用 -s 或 –storage-driver= 选项来指定相关的镜像存储.在Ubu ...

  5. C# 多线程 详解

    [基础篇] 怎样创建一个线程 受托管的线程与Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 [WinForm多线程编程篇] 多线程 ...

  6. Subsequence---poj3061(尺取法||二分)

    题目链接:http://poj.org/problem?id=3061 题意:给n个正整数和一个数S,求出总和不小于S的连续子序列的长度的最小值,如果无解输出0: 我们可以用sum[i]表示前i项的和 ...

  7. Java——文件操作字符流和字节流的区别

    转:http://blog.csdn.net/joephoenix/articles/2283165.aspx java的IO流分两种流 字节流 InputStream OutputStream 字符 ...

  8. react.js 之 create-react-app 命令行工具系统讲解

    react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...

  9. jQuery内部原理和实现方式浅析

    这篇文章主要介绍了jQuery内部原理和实现方式浅析,本文试图从整体来阐述一下jQuery的内部实现,需要的朋友可以参考下 这段时间在学习研究jQuery源码,受益于jQuery日益发展强大,研究jQ ...

  10. vertx异步编程测试

    vertx是异步编程的框架,性能较高,开发简单.异步编程就是当一个请求来了,vertx将其交由一个事件进行处理,然后继续向下执行,等处理完成,返回结果,通知客户端.这是一个由服务端反向调用客户端的过程 ...