SSH 是什么?
Secure Shell
网络协议,用于加密网络主机之间的通信,对操作者进行认证和授权。
实际运用: 远程登录和通信
默认端口: 22
客户端 ssh
安装
linux一般自带ssh
ubuntu
sudo apt install openssh-client
检查
ssh -V
输出 OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
连接服务器
首先,需要密钥 即 ssh-key
..看不懂实际用途,以后有需要再看
SSH密钥
ssh-key 命令:生成密钥
- 同时生成密钥和公钥
生成密钥
ssh-keygen
生成指定加密算法(dsa/rsa)的密钥
ssh-keygen -t dsa
- 配置项
注释
-C username@host
密钥默认保存的文件名:~/.ssh/id_dsa
,~/.ssh/id_rsa
公钥默认保存的文件名:~/.ssh/id_dsa.pub
,~/.ssh/id_rsa.pub
上传公钥到服务器
服务器公钥保存文件: ~/.ssh/authorized_keys
同连接服务器一样...有需要再看
ssh-agent命令,ssh-add命令
私钥设置密码后每次使用都需要输入密码,ssh-agent
命令为了解决该问题而设计,让用户只需要在第一次使用SSH命令输入密码。
ssh-add
将私钥加入 ssh-agent
开启密钥登录后 ,建议关闭服务器密码登录
SSH 服务端 sshd
安装
Debian
sudo aptitude install openssh-server
Red Hat
sudo yum install openssh-server
启动
一般来说随着系统一起启动
sshd
/usr/sbin/sshd
也可以通过Systemd启动/停止/重启sshd
如果没有自动运行,可以使用sudo systemctl enable sshd.service
让sshd在计算机下次启动时自动运行
scp命令
scp user@host:source1/* user@host:source2/* user@host:destination
source: 文件当前位置
destination: 文件要复制到的位置
*
星号表示指定目录下所有内容
- 注意 如果目标位置存在同名文件,不会警告直接覆盖掉!
作用
- 本地复制到远程
scp source1 source2 user@host:destination
可省略用户名和主机名,默认值为本机的当前用户名和主机 - 远程复制到本地
scp user@host:source1 user@host:source2 destination
- 远程系统之间复制
scp user@host:source1 user@host:source2 user@host:destination