SSH远程连接服务器
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。
Mac(我从windows跑路了)
- 直接用命令行ssh
1 | ssh user@host -p port |
主要会有两个麻烦以及个人的处理方式:
- 多次登陆或者有多个服务器地址 -> SSH key + Mac自带new remote connection
- 文件传输 -> 使用客户端
创建SSH key
创建SSH key实现‘免密登陆’。
如果已经创建过密钥可以直接使用,则跳过下面这个命令。
1 | ssh-keygen -t rsa -b 4096 -C "your_email@domain.com" |
默认目录在/home/yourusername/.ssh/id_rsa
,会生成id_rsa
以及id_rsa.pub
。
1 | ssh-copy-id remote_username@server_ip_address |
在此输入登录服务器的密码。
之后只需要在终端ssh user@host
可直接登陆。更方便的方式是在Mac上打开terminal以后,左上角shell点击new remote connection
在服务器列表新建用户名@服务器ip
。设置过密钥配对后,可以直接连接。
这是比较类似于客户端的,不需要反复输入ip和密码,当有多个服务器的时候也方便
使用VScode
在vscode打开terminal:按shift
+command
+p
,输入/选择View: Toggle terminal
。可以上面开个脚本编辑代码,下面是终端。
安装Remote SSH插件,存储server id,还可以添加文件夹目录。
文件传输
scp
上传文件
1 | scp 文件名 用户名@服务器ip:目标路径 |
上传文件夹
1 | scp -r 文件夹目录 用户名@服务器ip:目标路径 |
下载文件和文件夹
1 | scp 用户名@服务器ip:文件路径 目标路径 |
sftp
同上在shell点击new remote connection
中
点击sftp
1 | put 本地文件路径 远程主机路径 |
客户端
让传输文件更方便一些,暂时使用FileZilla的破解版。
Windows系统
- 命令行 : Windows 10 中安装SSH工具
- 客户端:Bitvise、Xshell
AWS 通过pem文件登录EC2
Linux
1 | # 修改权限 -wr |
Windows
- putty 需要转换pem文件格式
- xshell
- bitvise
Client key manager 上传pem文件
Initial method: pubickey
选择上传的client key
端口转发
暂时用不到