ssh 使用
SSH全称 secure shell, 是一种加密的网络传输协议, 是telnet的替代品, 本文主要简单地介绍一下 ssh 常见的用法, 一下用法据需要服务器端配置了 openssh 且允许用户访问, 访问的用户名和密码均是服务器内的用户, 而不是本地用户.
SSH 连接远程服务器
这应该是ssh最普遍是使用方式了, 通过
ssh [OPTIONS] [-p PORT] [User@]hostname [COMMAND]
#User 是用户名, hostname是域名或者IPv4地址, -p后面跟端口号, 默认是22
免密登录
直接通过这种方式登录, 依然需要输入用户密码来登录, 可以使用 rsa 密码, 来配置免密登录:
第一步: 生成rsa密钥(公钥+私钥)
ssh-keygen [OPTIONS]
#常用的参数有 -t(type) 指定生成密钥类型, 这里我们使用 rsa; -b(bits) 生成密钥的长度; -C(comments) 添加注释, 通常会在这添加邮箱等标识
ssh-keygen -t rsa -b 2048 -C "example@mail.com"
第二步: 将生成的公钥id_rsa.pub上传到服务器
本质上是将公钥复制到服务器的 .ssh/authorized_keys 中, 可以使用ssh-copy-id [-p port] [user@]hostname或者自行复制id_rsa.pub复制到 .ssh/authorized_keys 中
- 注意不要将私钥上传!!
为服务器设置别名
类似于 linux 中在*.bashrc中配置 alias
在本地的.ssh文件中编辑config*文件(没有就创建一个touch .ssh/config)
config文件内格式如下
Host 别名
User 用户名
Port 连接端口(默认22)
Hostname 域名或IPv4地址
IdentityFile 私钥文件位置, 如果在默认位置, 此行不必配置
举个栗子
Host workspace
User kylezhang
Hostname kyleten.top
设置完成后, 以后通过ssh连接服务器可以使用ssh workspace就会用config中的配置来登录了
scp 传输文件
如果想用命令行直接复制小文件, 可以使用scp source destination命令,
如 服务器别名为Helloworld, 我们想将服务器当前用户家目录下的*.viminfo*文件传输至本地当前目录可以使用一下命令
scp Helloword:~/.viminfo .
当然如果传输大文件也可以搭配tmux或screen等使用, 或者直接使用SFTP进行文件传输