本文来自网易云社区。

作者:沈高峰

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攻击?

最新文章

  1. VUE --- 给页面加点网络动态数据
  2. javascript变量、作用域和内存问题......
  3. Creating a ZIP Archive in Memory Using System.IO.Compression
  4. MikroTik RouterOS防火墙与过滤详解
  5. 腾讯优测优分享 | 这些年,我们追过的 fiddler
  6. PHP session的实现原理
  7. SQL中查询优化的主要策略
  8. 基于阿里云server搭建SVNserver
  9. sqlite3---代码操作
  10. xtrabackup备份mysql数据库方法
  11. LeetCode算法题-Path Sum III(Java实现)
  12. ACE侧边栏刷新自动展开之前的选择
  13. CS Academy Gcd on a Circle(dp + 线段树)
  14. Fiddler对https抓包时,提示"HTTPS decryption is disabled."
  15. Django组件之Middleware
  16. C++中位运算
  17. mybatis ${}与#{}的区别
  18. 树莓派进阶之路 (018) - raspberryPi摄像头命令行软件raspistill帮助文档
  19. luogu4473 BZOJ2143 2011[国家集训队]飞飞侠
  20. Redis hash数据结构

热门文章

  1. Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 iBrand API 教程
  2. mysqli:查询数据库中,是否存在数据的三种校验方法
  3. HDU 4871 Shortest-path tree
  4. Android(java)学习笔记62:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 理解
  5. for循环研究
  6. ZOJ 2314 Reactor Cooling 带上下界的网络流
  7. maven项目右键快捷方式,然后点击Run As
  8. failed to bind pixmap to texture
  9. 关于js的严格模式
  10. springboot+Druid+mybatis整合