一、基本概念
1.简介
SSH(Secure Shell)是一个可以在不安全的网络中实现安全的系统管理和文件传输的软件包。
2.密码登录原理图
补:
有些攻击者会截获客户端发起的连接请求,然后冒充服务端发送自己的公钥给客户端,从而获取用户登录密码,所以为了避免这种情况的发生,需要用户自己判断发送该公钥的主机是否为安全主机。
3.公钥登录原理图
4.相关目录文件
~/.ssh/known_hosts:存储受信任的主机
~/.ssh/authorized_keys:存储客户端上传的公钥。第一次上传时需要手动新建该文件
/etc/ssh/sshd_config:存储服务端ssh相关的配置信息
二、相关操作
1.生成秘钥
ssh-keygen
2.远程登录
ssh <username>@<host> -p <端口号>
3.远程传输文件
scp <本地文件所在目录> <username>@<host>:<远程要传输到的目录>
4.配置免密登录
方法一:
ssh-key
- 复制客户端的公钥id_rsa.pub中的内容到服务端~/.ssh/目录下找authorized_keys文件,将复制的内容粘贴在最后面,没有就新建一个,然后把复制的内容粘贴进去(也可以直接把文件复制过去改个名字,避免因为多复制了换行符而出错)
方法二:
ssh-key
-ssh-copy-id <user_name>@<ip>
5.启动、停止、重启ssh服务
service sshd start
service sshd stop
service sshd restart
6.禁用root登录、禁用DNS等
- 在配置文件sshd_config中找到相应的配置项(PermitRootLogin、UseLogin),取消注释,然后将yes改为no
- 重启ssh服务