linux服务配置ssh免密

文章介绍了如何通过SSH协议在不同服务器间实现免密登录,包括SSH的工作原理、认证机制,以及详细的操作步骤,如生成密钥对、拷贝公钥和配置免密登录,同时也提到了双向免密和自身免密的设置方法。
摘要由CSDN通过智能技术生成

一、常用场景

1、我们经常使用scp命令在两台不同服务器之间进行文件传输,但每执行一次scp命令时,都需要输入一次密码;使用ssh命令远程连接另一台服务器时,也需要输入密码。频繁输入密码比较麻烦,ssh可帮助我们在两台服务器之间配置免密,避免频繁输入密码的问题。

2、jekins自动集成需要自动上传包的情况

二、原理

(一)SSH概念

SSH为Secure Shell(安全外壳协议)的缩写,简单说,SSH只是一种网络协议,用于计算机之间的加密登录,很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

SSH是由客户端和服务端的软件组成的 服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
 

(二)SSH认证机制

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证) 只要你知道自己帐号和口令,就可以登录到远程主机。

第二种级别(基于密钥的安全验证)
        需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密”质询”(challenge)并把它发送给客户端软件。客户端软件收到”质询”之后就可以用你的私人密匙解密再把它发送给服务器。

 

二、操作

(一)生成密钥 


通过ssh-keygen生成密钥

ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''

执行过后,会在/root/.ssh目录下生成两个文件id_rsa和id_rsa.pub,分别对应密钥和公钥。

(二)拷贝密钥


通过ssh-copy-id拷贝密钥。
ssh-copy-id root@192.168.1.10

根据提示输入yes和密码继续建立连接,第一次连接还是需要输入密码的

(三)免密登录


通过ssh登录目标主机

ssh root@192.168.1.10

此时已不再要求输入密码,直接登录上了

1、ssh 客户端用户名@服务器ip地址。
ssh user@192.168.1.10
2、调用图形界面程序可以使用 -X 选项。
ssh -X user@192.168.1.10
3、用户名和服务器的用户名相同,登录时可以省略用户名。
ssh 192.168.1.10
4、设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号。
ssh -p 8080 user@192.168.1.10

(四) 双向免密


在另一台服务器上同样执行步骤一、二、三。

(五)自身免密


在shell中使用ssh登录自己时,也会要求输入密码,可通过如下命令实现自身免密。

cat id_rsa.pub >> authorized_keys

cat id_rsa.pub >> authorized_keys

执行过后,再次连接自己,执行ssh localhost
此时也无需输入密码。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值