在工做中,有不少时候,咱们须要使用自动化脚本远程安装软件或者执行程序。此时必需要实现免密码登陆才好作相应操做。linux
博主今天就详细的分享Linux之间的ssh免密码登陆配置过程,帮助小白们理解并掌握SSH。首先,在开始以前,咱们来了解下SSH。git
1、什么是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。服务器
2、SSH基本用法网络
ssh命令用于远程登陆上Linux主机。ssh
经常使用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细参数配置的能够用ssh -h查看rest
不指定用户,默认使用root帐户登陆code
ssh 192.168.29.129
指定用户:blog
ssh -l root 192.168.29.129 ssh root@192.168.29.129
若是修改过ssh登陆端口的能够:it
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
3、免密登陆
1.生成秘钥对:ssh-keygen
2.拷贝公钥到B服务器:ssh-copy-id root@hostB
3.使用命令登陆:ssh houtB
由此,A服务器到B服务器的SSH免密码登陆配置完成,B登陆A的免密码配置同上操做。