大数据教程(1.8):Linux之SSH免密登录配置

谁说我不能喝 提交于 2019-12-01 23:09:24

    在工作中,有很多时候,我们需要使用自动化脚本远程安装软件或者执行程序。此时必须要实现免密码登录才好做相应操作。

    博主今天就详细的分享Linux之间的ssh免密码登录配置过程,帮助小白们理解并掌握SSH。首先,在开始之前,我们来了解下SSH。

一、什么是SSH?

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

二、SSH基本用法

ssh命令用于远程登录上Linux主机。

常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细参数配置的可以用ssh -h查看

不指定用户,默认使用root账户登录

   ssh 192.168.29.129 

指定用户:

  ssh -l root 192.168.29.129 
  ssh root@192.168.29.129 

如果修改过ssh登录端口的可以:

  ssh -p 32555 192.168.29.129 
  ssh -l root -p 32555 192.168.29.129 
  ssh -p 32555 root@192.168.29.129 

登录效果图

ssh的配置文件:/etc/ssh/sshd_config

可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。

编辑配置文件:vi /etc/ssh/sshd_config

找到#Port 22,去掉注释,修改成一个五位的端口:

  Port 32555

找到#PermitRootLogin yes,去掉注释,修改为:

  PermitRootLogin no

重启sshd服务:

 service sshd restart

成功重启: Stopping sshd: [ OK ]
      Starting sshd: [ OK ]

查看linux中的ssh端口开启状态

netstat -anp |grep 22
netstat -anp |grep ssh
lsof -i :22

三、免密登录

1.生成秘钥对:ssh-keygen

2.拷贝公钥到B服务器:ssh-copy-id root@hostB

3.使用命令登录:ssh houtB

由此,A服务器到B服务器的SSH免密码登录配置完成,B登录A的免密码配置同上操作。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!