No.1. SSH(Secure Shell)安全外壳协议
- 建立在应用层基础上的安全协议
- 可靠,专为远程登录会话和其他网络服务提供安全性的协议
- 有效防止远程管理过程中的信息泄漏问题
- SSH客户端适用于多种平台
- SSH服务器端几乎支持所有Unix平台
No.2. 服务器安装SSH服务(一般默认已安装)
- 安装命令:yum -y install openssh-server
- 启动命令:service sshd start
- 设置开机运行命令:chkconfig sshd on
- 查看ssh服务运行状态:ps -ef | grep ssh
No.3. 客户端安装SSH工具
- SSH是典型的客户端和服务器端的交互模式,客户端广泛支持各种平台
- Windows有很多工具支持SSH连接功能,例如:Xshell,Putty,secureCRT
- Linux平台安装客户端软件的命令:yum -y install openssh-clients
No.4. SSH客户端连接SSH服务
- 输入命令:ssh root@192.168.75.134
- 输入密码,回车即可连接
No.5. SSH config 详解
- config是为了方便客户端批量管理多个ssh远程连接
- config存放在~/.ssh/config,一般没有这个文件,需要自行创建
- 输入命令:cd ~/.ssh/
- 输入命令:touch config
- 输入命令:vim config
- 编辑完成后内容如下:
- 然后直接在客户端输入命令:ssh litejie,即可访问远程服务器,而不用 ssh root@47.104.251.169
- SSH config语法关键字:Host(别名)、HostName(主机名)、Port(端口)、User(用户名)、IdentityFile(密钥文件路径)
No.6. SSH安全免密码登录:ssh key
- ssh key使用非对称加密方式生成公钥和私钥
- 私钥存放在本地~/.ssh目录
- 公钥可以对外开放,放在服务器的~/.ssh/authorized_keys中
No.7. windows平台生成ssh key的方法:
- 打开Xshell软件
- 依次点击:Tools->User Key Manager->Generate
- Key Type可以先择RSA或DSA,然后点击Next,然后再点击Next
- 输入Key Name,Passphrase可以不输入
- 点击Next
- 点击Save as a file
- 点击Save
- 点击Finish
No.8. Linux平台生成ssh key的方法:
- 输入命令:cd ~/.ssh/
- 输入命令:ssh-keygen -t rsa
- 输入Key Name回车
- Passpharse可以不输入,直接回车
- 生成完毕,输入命令ls,查看新生成的密钥文件
No.9. Windows平台下使用私钥和公钥的方法
- 如果服务器端没有authorized_keys文件,先在服务器端创建一个authorized_keys文件:touch authorized_keys
- 编辑authorized_keys文件,将生成的公钥信息复制到这个文件里面,并保存退出
- 打开Xshell,依次点击:File->New
- 输入Name和Host,然后点击左侧的Authorization,Method选择Public Key,然后输入下方的User Name,最后选择User Key,点击OK,再点击Connect,就可以直接实现远程登录
No.10. Linux平台下使用私钥和公钥的方法
- 如果服务器端没有authorized_keys文件,先在服务器端创建一个authorized_keys文件:touch authorized_keys
- 编辑authorized_keys文件,将生成的公钥信息复制到这个文件里面,并保存退出
- 然后再客户端输入命令:ssh-add ~/.ssh/litejie_rsa加载私钥信息
- 如果上一步失败,先执行一下命令:ssh-agent bash
- 加载完私钥之后,直接输入 ssh 主机别名,即可实现对远程服务器免密登录
- 但是后面三步每次都得执行一遍
No.11. SSH安全端口
- 端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认服务端口号的操作
- 修改SSH服务的默认端口:vim /etc/ssh/sshd_config
- 修改如下内容
- 上面这种配置效果可以同时监听两个端口
- 重启服务:service sshd restart
- 一般是不会修改SSH端口号的