1. 生成密钥
ssh-keygen
默认情况下在用户目录下创建. ssh 文件夹, 并生成了公钥 (id_rsa.pub), 以及私钥 (id_rsa)
2. ssh 远程登陆主机
- ssh user@host - p port
- // 或者
- ssh host - l user - p port
user: 登陆的用户
host: 登陆的主机
参数 -p 为 ssh 端口
若是第一次登陆该主机, 会显示目标主机的公钥指纹, 提示无法确认主机的身份, 并询问是否继续; 用户需要自行确认主机的其实性, 这是为了防止 ssh 的中间人攻击
3. 无密码登陆主机
若无其他配置, 使用 2 中的方法登陆主机时, 每次都要求输入密码, 不仅繁琐, 还不安全
如何设置无密码登陆:
假设两台主机 A, B,A 无密码登陆 B;
A,B 主机各自生成密钥, 这是基础;
B 主机的 ~/.ssh 目录下新建文件 authorized_keys, 并将 A 主机的公钥拷贝进去; 该文件可以存多个公钥, 一行一个;
此时 A 主机可无密码登陆 B 主机
4. 使用别名登陆主机
新建文件~/.ssh/config, 并写入如下内容 (注意缩进):
- Host myhost
- HostName 138.xxx.xxx.xxx
- Port xxxx
- User root
- IdentityFile ~\.ssh\id_rsa
HostName: 要登陆的主机名或 IP 地址
Port: 目标主机的 ssh 端口
User: 登陆的用户
IdentityFile: 用于登陆的私钥
5. 主机之间发送文件
(1) 从本机复制到远程主机
- // 将本机 file 文件发送到 host 主机的 folder 目录下, -p 为 ssh 端口 (大写)
- scp - P port file user@host: folder
- // 复制目录
- scp - r - P port folder user@host: folder
(2) 从远程主机复制到本机
- // 将本机 file 文件发送到 host 主机的 folder 目录下
- scp - P port user@host: folder file
- // 复制目录
- scp - P port - r user@host: folder folder
来源: http://www.jianshu.com/p/cc3df9978874