SSH是一个非常伟大的工具,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。以下就是macw小编整理的常用ssh命令合集,记得保存分享哦!
- 生成密钥
ssh-keygen
默认情况下在用户目录下创建.ssh文件夹,并生成了公钥(id_rsa.pub),以及私钥(id_rsa)
- ssh 远程登陆主机
ssh user@host -p port
// 或者
ssh host -l user -p port
user: 登陆的用户
host: 登陆的主机
参数 -p 为ssh端口
若是第一次登陆该主机,会显示目标主机的公钥指纹,提示无法确认主机的身份,并询问是否继续;用户需要自行确认主机的其实性,这是为了防止ssh的中间人攻击。
- 无密码登陆主机
若无其他配置,使用 2 中的方法登陆主机时,每次都要求输入密码,不仅繁琐,还不安全。
如何设置无密码登陆:
-
假设两台主机A, B,A无密码登陆B;
-
A,B主机各自生成密钥,这是基础;
-
B主机的 ~/.ssh目录下新建文件 authorized_keys,并将A主机的公钥拷贝进去;该文件可以存多个公钥,一行一个;
-
此时A主机可无密码登陆B主机。
- 使用别名登陆主机
新建文件~/.ssh/config
,并写入如下内容(注意缩进):
Host myhost
HostName 138.xxx.xxx.xxx
Port xxxx
User root
IdentityFile ~\.ssh\id_rsa
HostName:要登陆的主机名或 IP 地址
Port:目标主机的 ssh 端口
User:登陆的用户
IdentityFile:用于登陆的私钥
之后便可以用ssh myhost
登陆该主机。
- 主机之间发送文件
(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