SSH 由来和介绍
Secure Shell(缩写为 SSH ),由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为一项创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境。
而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。通过 SSH 可以对所有传输的数据进行加密,也能够防止DNS 欺骗和 IP 欺骗。
SSH 用法
我这里主要以 Mac 连 Ubuntu 的主机举例
1. 连接远程主机
普通用户
ssh user@1.2.3.4,回车之后输入密码就可以登录远程主机。
懒人用户
输入密码太麻烦了,使用 RSA 秘钥
Mac 上生成秘钥,查看并且复制秘钥,命令如下
ssh-keygen -t rsa 生成秘钥,一路 enter 默认设置cat ~/.ssh/id_rsa.pub 查看并复制生成的 key,Mac 本地完成。
然后登录 VPS,进到 .ssh 目录,粘贴 key
|
|
这样还是太麻烦,可以不用复制粘贴,当然有的,一个命令即可复制 key 到指定文件ssh-copy-id user@1.2.3.4
死宅用户
挺好的,终于不用每次都输入密码啦,可还要输入 ssh user@1.2.3.4,密码都可以不用输,这个当然也可以实现了,新建一个 test-ssh 文件,输入 ssh user@1.2.3.4 保存退出,加可执行权限 chmod 755 test-ssh。然后就可以直接 ./test-ssh 就能登录 VPS 啦
2. 远程命令,本地执行
在本地不登陆 VPS 的时候,执行一些命令,以创建文件为例ssh user@1.2.3.4 'touch test'
即可创建文件,若需要 root 权限,需要加 -t 参数ssh -t user@1.2.3.4 'touch test'
3. 远程复制
我想把 vps 上主目录下的文件 a 下载到 Downloads 目录下,可以使用 scp 命令scp -r user@1.2.3.4:~/a ~/Downloads
我想把本地文件 test 上传到 vps 主目录的 aa 目录下,可同样操作scp -r ~/test user@1.2.3.4:~/aa
