摘要
对远程主机进行登录管理,一方面可以简化日常频繁登录的密码和 ip 输入步骤,另一方面,也可以提高远程主机的安全性,避免远程主机被“黑客”轻易攻击。 也借此加强对 Linux 文件权限的认识和理解。
ssh-keygen默认保存路径为 ~/.ssh/
[windows 对应为C:\Users\Administrator\.ssh\][mobaxterm对应为/home/mobaxterm/.ssh/]
# 公钥路径
~/.ssh/id_rsa.pub
# 私钥路径
~/.ssh/id_rsacat ~/.ssh/id_rsa.pubssh {登录用户}@{ip地址}
输入密码后进入远程主机系统配置文件目录/etc/ssh/
/etc/ssh/sshd_config对以下参数进行设置:
# 默认的认证公钥文件
AuthorizedKeysFile .ssh/authorized_keys将本地的公钥复制到远程的公钥认证文件 [~/.ssh/authorized_keys]中保存
【理论说明】:
一栏有十个字符:
文件还是目录
其中:
[ r ]代表可读(read),值为 4 [二进制:100][ w ]代表可写(write),值为 2 [二进制:010][ x ]代表可执行(execute),值为 1 [二进制: 001][ - ]代表没有操作权限,值为 0 [二进制: 000]
参考来源: http://cn.linux.vbird.org/linux_basic/0210filepermission.php
(1)设置.ssh目录权限
# 文件拥有者拥有读、写、执行权限,其他组无权限
chmod 700 ~/.ssh/(2)设置authorized_keys文件权限
# 文件拥有者拥有读、写权限,同群组和其他群组成员拥有读权限
chmod 644 ~/.ssh/authorized_keys# 位置:/etc/ssh/sshd_config
# 允许root用户通过ssh登录
PermitRootLogin yes
# 允许使用ssh权限登录
RSAAuthentication yes
PubkeyAuthentication yes使用秘钥方式登陆后,禁用密码登录[之前密码登录的 session 将失效]
# 禁用密码登录
PasswordAuthentication no重启 ssh
service sshd restart参考来源: https://hyjk2000.github.io/2012/03/16/how-to-set-up-ssh-keys/
# ~/.ssh/config
# 定义登录远程主机的ssh连接名
Host txyun
# 定义远程主机ip地址
HostName {ip地址}
# 定义远程主机的ssh端口号[默认情况下ssh端口号为22]
Port 22
# 设置登录用户名, root用户拥有所有权限
User rootssh txyun即可直接登录。
简化了可信访客的登录步骤,并且也只有和远程服务器 ssh 认证文件中公钥相匹配的主机才能成功登录,提高了服务器的安全性。
完。