让SSH登陆Linux更顺手的方法

关于管理多个Linux服务器,经常登陆、复制文件等操作,会输入很长的命令,很不方便,关键需要大量的记忆IP。

今天看到小伙子也在用这样繁琐的方式在操作,推荐了他这个方法,顺便整理一个小文章。

以aws为例:

ssh -i ~/key/xxx.pem ec2-user@58.58.58.58

复制文件

scp -i ~/key/xxx.pem a.tar.gz ec2-user@58.58.58.58:~/

其实通过配置ssh config即可解决:

编辑 ~/.ssh/config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#web
Host yryz
HostName yryz.net
User ec2-user
IdentityFile ~/key/xxx.pem
#Raspberry pi
Host pi
HostName 192.168.1.135
User pi
Host dev
HostName 192.168.xxx.135
User root

这样新的使用方式变得很简单:

ssh yryz

scp yryz:~/a.log ./

如果你的shell有补全,还能ssh按tab享受自动提示,多个服务器更方便。

另外这里献上一个通过tar + ssh复制多个文件/文件夹的技巧,还能节省网络流量,减少传输时间:

1
tar -zcv file dir | ssh yryz 'cd app && tar xz'

或者

1
ssh yryz 'tar zcv app' | tar xz

另外提醒一下

如果使用公钥登陆SSH的,建议对自己的私钥进行加密,使用时会输入一下密码,但是能提高私钥的安全性。

加密方式:openssl rsa -in ~/.ssh/id_rsa -des3 -out ~/.ssh/id_rsa