1、SSH简介
1.1 SSH(安全外壳协议)
SSH为Secure Shell的缩写,SSH为建立在应用层和传输层基础上的安全协议。
1.2 SSH端口
SSH端口:22
Linux中守护进程:sshd
安装服务:OpenSSH
服务端主程序:/usr/sbin/sshd
客户端主程序:/usr/bin/ssh
2、SSH加密原理
2.1 对称加密算法
采用单密匙系统的加密方法,同一个密匙可以同时用作信息的加密和解密,这种加密方法称为对称加密,也成为单密匙加密。
2.2 非对称加密算法
非对称加密算法(asymmetric cryptographic algorithm)又名“公开密匙加密算法”,非对称加密算法需要两个密匙:公开密匙(publickey)和私有密匙(privatekey)
3、SSH配置文件
3.1 /etc/ssh/sshd_config
Port 22 端口 建议修改端口号
ListenAddress 0.0.0.0 监听的IP
Protocal 2 SSH版本选择
HostKey /etc/ssh/ssh_host_rsa_key 私匙保存位置
ServerKeyBits 1024 私匙的位数
SyslogFacility AUTH 日志记录SSH登录情况
LogLevel INFO 日志等级
GSSAPIAuthentication yes GSSAPI认证开启 建议在ssh_config中关闭
3.2 安全设定部分
PermitRootLogin yes 允许root的ssh登录 建议修改为no
PubKeyAuthentication yes 是否使用公匙验证 建议使用密匙对登录
AuthorizedKeysFile .ssh/authorized_keys 公匙的保存位置
PasswordAuthentication yes 允许使用密码验证登录 建议修改为no,而使用密匙对登录
PermitEmptyPasswords no 不允许空密码登录
4、常用SSH命令
4.1 ssh命令
ssh 用户名@IP
$ ssh root@192.168.44.5
4.2 scp远程复制
下载
$ scp root@192.168.44.2:/root/test.txt .
上传
$ scp –r /root/123/ root@192.168.44.2/root
4.3 sftp文件传输 这种操作并不方便,也不安全
$ sftp root@192.168.44.2
sftp> ls 查看服务器端数据
sftp> cd 切换服务器端目录
sftp> lls 查看本地数据
sftp> lcd 切换本地目录
sftp> get 下载
sftp> put 上传
5、SSH连接工具
5.1 SecureCRT
5.2 Xshell
6、密匙对登录
6.1 密匙对验证
6.1.1 步骤1
Client端:
$ ssh-keygen –t rsa
Server端:
把公钥上传到服务器端
$ cat id_rsa.pub >> /root/.ssh/authorized_keys
$ chmod 600 /root/.ssh/authorized_keys
6.1.2 步骤2
修改服务器端ssh配置文件 /etc/ssh/sshd_config
RSAAuthentication yes 开启RSA验证
PubkeyAuthentication yes 是否使用公匙验证
AuthorizedKeyFile .ssh/authorized_keys 公匙保存位置
PasswordAuthentication no 禁用使用密码验证登录
6.1.3 步骤3
服务器端关闭SELinux服务
$ vi /etc/selinux/config
重启Linux操作系统
服务器端重启ssh服务
$ service sshd restart