# 1、为什么有SSH?

  • SSH解决的问题:加密登录远程机器
  • SSH是一种网络协议,使用SSH协议登录另一台远程计算机是安全的,即使中途被拦截,密码也不会泄露

# 2、SSH登录过程

  • 1、用户尝试登录远程主机,然后远程主机会将自己的公钥返回给用户
  • 2、用户使用公钥将密码加密后发给远程主机
  • 3、远程主机将加密后的密码用私钥进行验证,如果正确则登录成功,否则失败

# 3、SSH命令

1、登录命令

ssh [-l login_name] [-p port] [user@]hostname 
1
  • 登录远程主机host,ssh user@host,user指用户名,host为IP地址

  • shh默认登录22端口, ssh -p port user@host,通过这条命令改变端口号

  • 首次登录会询问用户是否继续链接远程主机,确认后会将公钥发给用户

ssh hht@192.168.12.32
shh -p 2232 hht@192.168.12.32  // 链接到主机的2232端口
1
2
  • 公钥登录:解决每次登录都要输入密码的问题

公钥登录:用户将自己的公钥(ssh-keygen生成)储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

# 4、scp 跨机远程拷贝

scp —— secure copy,可用于在Linux下实现远程命令的拷贝,常用的拷贝cp只能在本机上实现拷贝不能跨服务器,scp的传输是加密的,所以传输速度略慢,由于涉及到远程服务器之间的拷贝,需要操作者具备各服务器的权限。

scp命令使用方法

scp [param] 源地址 目标地址

// 将远程的文件复制到本地
scp hht@192.168.12.32:/hht/work/index.html  /hht/work/index.html

// 复制文件夹
scp -r hht@192.168.12.32:/hht/work/ /hht/work/
1
2
3
4
5
6
7