ssh是什么
- SSH:Secure Shell 安全外壳协议
- 建立在应用层基础上的安全协议
- 可靠,专为远程登录回话和其它网络服务提供安全性的协议
- 有效防止远程管理过程中的信息泄露问题
- SSH客户端适用于多种平台
- SSH服务端几乎支持所有UNIX平台
服务器安装SSH服务
1 | # yum install -y openssh-server #安装 |
客户端安装SSH工具
1 | # yum install -y openssh-clients |
客户端连接SSH服务
1 | # ssh root@192.168.40.123 |
SSH config 详解
1 | # cd ~/.ssh |
如果有多个服务器,写多个host即可(一个host一台服务器)
RedHat中没有.ssh目录,需要新建,命令 mkdir -pm 700 .ssh
注:-p 如果目录已存在不会报错 -m指定权限码
SSH 安全免密码登录: ssh key
- ssh key 使用非对称加密方式生成 公钥 和 密钥
- 私钥存放在本地 ~/.ssh 目录
- 公钥可以对外开发,放在服务器的 ~/.ssh.authorized_keys
Windows平台生成ssh key
打开 Xshell 工具→用户密钥管理者→生成→一直下一步即可
Linux平台生成ssh key
1 | # cd ~/.ssh |
注:ssh-keygen -f ~/.ssh/id_rsa -t rsa
ssh选项 | 参数意义 |
---|---|
b | 密钥位数,>=512,缺省1024 |
f | 密钥文件名 |
t | 密钥类型,rsa(默认) 或 dsa |
i | 导入 SSH/SECSH 格式的密钥 |
服务器配置authorized_keys
1 | # vim ~/.ssh/authorized_keys |
Linux平台可能还需执行命令 ssh-add 私钥文件
才可登录成功
SSH安全端口
- 端口安全指的是尽量避免服务器的远程连接 端口别不法分子知道,为此而改变默认服务器端口号的操作
- 修改 /etc/ssh/sshd_config 配置改变SSH服务端口
1 | # vim /etc/ssh/sshd_config |
当然,一般都不会修改端口,我们只需要保证密码足够复杂或使用 ssh key 的方式登录,基本上就可以保证安全了