Linux 服务器使用 SSH 连接 实现免登陆
Linux服务器使用ssh连接 实现免登陆
参考资料
-
SSH的工作原理是将客户端程序连接到ssh服务器
Ubuntu(Centors类似 命令有所不同)
1.主配置文件于/etc/ssh/sshd_config 2.Port 22 端口声明指定sshd服务器将侦听连接的端口 如需更改端口 直接添加后 测试完成 再删除 22 3.PermitRootLogin 选择是否允许root登录 4.LoginGraceTime 指定在未成功登录的情况下保持连接活动的秒数 [root@7S ssh]# sudo service ssh restart 重启服务 [root@7S ssh]# sudo systemctl restart ssh
-
如何使用密钥登录SSH
[root@7S ssh]# systemctl stop firewalld.service //关闭防火墙
[root@7S ssh]# systemctl is-enabled firewalld.service //查看防火墙状态
enabled
[root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent 添加 放行端口 1212
FirewallD is not running // 防火墙关闭
[root@7S ssh]# systemctl restart firewalld.service //启动
[root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent //继续添加
success
[root@7S ssh]# firewall-cmd --zone=public --list-ports //查看所有端口
-
创建SSH密钥(本地的计算机上生成SSH密钥)
[root@7S ssh]# ssh-keygen -t rsa //创建 按 Enter 键接受默认值 (Mac)密钥在〜/.ssh/id_rsa.pub和〜/.ssh / id_rsa中 (window 系统不一样 Admin文件名不一样) /C/users/Admin/.ssh/id_rsa
-
ssh-copy-id root@192.168.100.00 //将公钥复制到远程服务器 输入密码 下次不需要使用密码 即可登录
-
更改 端口 登录
$ ssh -p 1212 root@192.168.100.00 -
安全考虑 禁用密码验证
[root@7S ssh]# /etc/ssh/sshd_config // PasswordAuthentication no //去掉注释 改为 no // PubkeyAuthentication yes // 默认不修改 // ChallengeResponseAuthentication no // 默认不修改
-
sudo systemctl restart ssh //重启服务 如有错误 关闭SELinux 或者 向SELinux中添加修改的SSH端口(如下)
- 安装semanage
semanage是SELinux的管理工具,是用于向SELinux添加和修改ssh端口号
- 安装依赖
[root@7S ssh]# yum install policycoreutils-python
- 安装semanage
[root@7S ssh]# yum provides semanage
2:使用semanage向SELinux中添加我们刚刚添加的端口号(1212)
查询当前 ssh 服务端口:[root@7S ssh]# semanage port -l | grep ssh
向 SELinux 中添加我们需要添加的ssh端口(1212):[root@7S ssh]# semanage port -a -t ssh_port_t -p tcp 1212
验证 ssh 端口是否添加成功:[root@7S ssh]# semanage port -l | grep ssh
重启 ssh 服务:[root@7S ssh]# systemctl restart sshd.service
第二种方法:
-
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.000 //将本机的id_rsa.pub公钥文件内容复制到远程目标机的.ssh/authorized_keys文件中
-
本地复制: scp .ssh/id_rsa.pub user@192.168.1.100:/home/root/
服务器操作:
[root@7S ssh]# mkdir -p /home/root/.ssh/ [root@7S ssh]# mv /home/root/id_rsa.pub /home/root/.ssh/authorized_keys //authorized_keys 必须如此命名
登录即可
本作品采用《CC 协议》,转载必须注明作者和本文链接