本文来自网易云社区。

作者:沈高峰

ssh 经常需要使用的,每次使用都

 ssh  abc@XXX.def.com -p 12138 -i ~/.ssh/id_rsa

来一遍显然太麻烦了,下面分享一点使用ssh的小技巧

1、客户端配置

linux 下,ssh会去读 ~/.ssh/config 里的配置的,只需要配置文件里写入如下配

Host XXX1    # 配置的名称,选方便自己识别的就行HostName XXX1.def.com # 服务器地址ip 域名都可以User abc            # 登录的用户名Port 12138IdentityFile ~/.ssh/abc_rsa  # 私钥路径

然后每次登录的时候,只需要

ssh XXX1

按tab 还会自动补全Host 信息

如果私钥设置了Passphrase,就只需要输入Passphrase 就可以了,没有Passphrase的话,就会直接登录。

每次用scp的时候,也只需要scp XXX1:/home/abc/def . 就可以了

windows下,我一般用putty,主要设置wiki上都有 常用 SSH 客户端的设置和使用

加入一下下面这个设置,可以免去每次都需要输入用户名的麻烦。

windows下使用scp推荐一下 winscp这个软件,它会去读putty的配置,一般putty设置好了,就不需要在配置了。

它直接可以通过窗口进行scp操作。


2、多个服务器同时部署相同程序

这种情况适合同一个脚本/程序需要部署到一组机器上。

一般需要一个台台scp过去,再修改权限,拷贝到指定目录

可以写个简单的脚本

脚本大概是这样的

servers=(XXX1 XXX2 XXX3)  # XXX1 XXX2 XXX3 代表1中配置好了的HostName,下同for i in ${servers[@]};do 
    scp a.sh $i:
    ssh $i sudo -iu pub_count cp /home/abc/a.sh /home/pub_count/done

也可以使用parallel-ssh ,debian下直接apt-get 安装就可以了

上面的小脚本就可以变成下面2条命令了

parallel-scp -H "XXX1 XXX2 XXX3" a.sh  /home/abc
parallel-ssh -H "XXX1 XXX2 XXX3" "sudo -iu pub_count cp /home/abc/a.sh /home/pub_count/"

3、ssh代理

调试的时候比较有用,比如openid开发的时候,跳转回127.0.0.1不需要申请权限。

如果程序部署到远程服务器上了,就需要去申请权限了。

通过ssh-tunnel开个代理,再在浏览器上设置好代理,就可以认为浏览器当成在远程使用了

ssh -qTfnN  XXX1 -D 127.0.0.1:7070 # 使用本地端口7070设代理,流量通过ssh走远程服务器

一般默认情况下网络设置里会在不使用代理这里有localhost,127.0.0.1,要像上面那样调试,就需要删掉这个设置

这样设置好之后,使用浏览器访问 127.0.0.1:8080 实际是访问远程服务器XXX1上的127.0.0.1:8080

网易云免费体验馆,0成本体验20+款云产品!

更多网易研发、产品、运营经验分享请访问网易云社区

相关文章:
【推荐】 大中型 UGC 平台的反垃圾(anti-spam)工作
【推荐】 一行代码搞定Dubbo接口调用
【推荐】 四两拨千斤式的攻击!如何应对Memcache服务器漏洞所带来的DDoS攻击?

一些 ssh 小技巧的更多相关文章

  1. SSH框架构建微信公众帐号服务器小技巧

    SSH框架构建微信公众帐号服务器小技巧 熟悉struts2和servlet的同学应该清楚,struts2的方法多样性弥补了servlet单一的doGet 和doPost方法.如果自己的公众账号服务器是 ...

  2. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  3. Git 小技巧

    分享git的几个小技巧,后面会根据使用补充.目前包括git撤销本地修改.git回退到前n个版本.git多用户提交冲突解决.git 命令简化.欢迎大家补充^_* 1.git撤销本地修改 git rese ...

  4. iOS工作小技巧及填坑记录

    以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名. ...

  5. Linux的95个小技巧

    Linux的95个小技巧 by WEB全栈工程师 on 2012 年 03 月 27 日 这里总结了Linux使用中的一些小技巧 1.实现RedHat非正常关机的自动磁盘修复 先登录到服务器,然后在/ ...

  6. shell 中的小技巧

    去掉最后一个字符 sed 's/.$//' awk '{sub(/.$/,"")}1' awk '{printf $0"\b \n"}' [root@ ~]# ...

  7. 杂谈---小故事小道理,面试中的小技巧(NO.2)

    本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...

  8. git的几个小技巧

    git的几个小技巧 分享git的几个小技巧,后面会根据使用补充.目前包括git撤销本地修改.git回退到前n个版本.git多用户提交冲突解决.git 命令简化.欢迎大家补充^_* 1.git撤销本地修 ...

  9. 学会这些 pycharm 编程小技巧,编程效率提升 10 倍

    PyCharm 是一款非常强大的编写 python 代码的工具.掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧. 一.分屏展示 当你想同时看到多个文件的时候: 1.右击标签页: ...

随机推荐

  1. wget无法建立SSL连接

    在使用wget工具的过程中,当URL使用HTTPS协议时,经常出现如下错误:“无法建立SSL连接”. 这是因为wget在使用HTTPS协议时,默认会去验证网站的证书,而这个证书验证经常会失败.加上&q ...

  2. IOS 音频的 使用说明

    说明 ● 简单来说,音频可以分为2种 ● 音效 • 又称“短音频”,通常在程序中的播放时长为1~2秒 • 在应用程序中起到点缀效果,提升整体用户体验 ● 音乐 • 比如游戏中的“背景音乐”,一般播放时 ...

  3. ABI 管理

    https://developer.android.google.cn/ndk/guides/abis.html 不同 Android 手机使用不同的 CPU,因此支持不同的指令集.CPU 与指令集的 ...

  4. php中的脚本加速扩展opcache

    今儿在azure里装php5.5.4,发现原先php5.4.php5.3中的zend guard laoder以及php5.2中的Zend Optimizer均不能再用,一直很喜欢用的eacceler ...

  5. cgi程序报 Premature end of script headers:

    这段时间写了一个CGI,也是为了应付工作,挺简单的一个程序,总是在调用的时候报:Premature end of script headers: 很让人头疼!   在网上找了些资料,按资料 ---- ...

  6. Spring Security 之集群Session配置

    1.   新建Maven项目 cluster-session 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4.0. ...

  7. CNMeM is disabled

    See here: http://deeplearning.net/software/theano/library/config.html You can change this in the env ...

  8. Ubuntu 14.04 VPS安装配置***的方法

    #安装*** $ sudo apt-get update $ sudo apt-get install python-gevent python-pip $ sudo pip install shad ...

  9. vim实用配置

    "编码set encoding=utf-8"显示行号set number"语法高亮度显示syntax on "自动缩进set autoindent"t ...

  10. Git永久删除commit--[非教程]

    假设当前分支为master,当前的commit情况如下,现在需要删除commit_id_2和commit_id_4: commit_id_1 commit_id_2 commit_id_3 commi ...