ssh免密码登录

简介:

SSH免密码登录


什么是SSH

基于秘钥的安全验证方式是指,需要依靠秘钥,也就是必须事先建立一对密钥对,然后把公用秘钥(Public key)放在需要访问的目标服务器上

另外还需要把私有密钥(Private key)放到 SSH 的客户端或对应的客户端服务器上。


实验环境介绍

testtest-A  192.168.133.136   中心分发服务器

ceshi-B     192.168.133.128   接收节点服务器

yueliang-C  192.168.133.130   接收节点服务器


实验需求

A->B

A->C


配置 SSH 实验环境

很多公司直接用 root 用户来操作,这样很不规范。

首先在三台机器上分别添加同一个系统账号,并设置密码

useradd yuci

echo "zhaoboyang" | passwd --stdin yuci

id yuci


将三台机器的当前用户切换为 yuci

su - yuci


只在 A 上操作,创建密钥对

切换为刚才创建的用户 yuci 进行操作

执行以下命令,一路默认回车即可

ssh-keygen -t dsa

Image


在家目录下查看刚才创建的文件

ll .ssh/

Image(1)


在 B 上查看 ssh 的端口(查看端口需要 root 权限)

ssh 是默认端口 22

netstat -tlunp | grep ssh

Image(2)


将公钥传给 B

ssh 端口为默认 22 的连接方式

ssh-copy-id -i .ssh/id_dsa.pub yuci@192.168.133.128

ssh 端口如果为 52113 的连接方式

ssh-copy-id -i id_dsa.pub "-p 52113 yuci@192.168.133.128"

Image(3)


和之前的操作相同,在 C 上查看端口,并在 A 上将公钥传给 C

ssh-copy-id -i .ssh/id_dsa.pub yuci@192.168.133.130

Image(4)


注明:ssh-copy-id 不是命令,而是一个脚本

Image(5)


在 B C 上查看刚才收到的公钥,名字有所变化

ls .ssh/

Image(6)

Image(7)


在 A 上连接 B,不需要密码即可远程连接

ssh yuci@192.168.133.128

Image(8)


在 A 上连接 C,不需要密码即可远程连接

ssh yuci@192.168.133.130

Image(9)


进行批量分发文件

首先在 A 上创建 a.txt 的文件,然后通过 scp 分别发给 B C 两台机器的家目录下:

echo 123 > a.txt

Image(10)


分别给两台机器推送文件到家目录并查看,分发文件成功

scp a.txt yuci@192.168.133.128:~

scp a.txt yuci@192.168.133.130:~

Image(11)


如果分发文件很慢的话需要做以下更改

解决方法:(两种均在需要连接的服务器端上操作)

1.在 ssh 服务器端上更改 /etc/ssh/sshd_config 文件中的配置为如下内容

UseDNS no

GSSAPIAuthentication no

在重启服务即可/etc/init.d/sshd restart

2.如果还慢的话可以检查 /etc/hosts 文件中,127.0.0.1对应的主机名和 uname -n 的结果是否一样,或者把 hostname(uname -n)加入到 /etc/hosts 里

    

通过 ssh 互信还可以远程执行命令

ssh yuci@192.168.100.140 /sbin/ifconfig eth0

1
2
3
4
5
6
7
8
9
[yuci@taiyang ~]$  ssh  yuci@192.168.100.140  /sbin/ifconfig  eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:83:45:A4
           inet addr:192.168.100.140  Bcast:192.168.100.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe83:45a4 /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:7137 errors:0 dropped:0 overruns:0 frame:0
           TX packets:5025 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:6365176 (6.0 MiB)  TX bytes:473704 (462.6 KiB)
本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1928771
相关文章
|
5月前
|
网络安全
SNETCracker.exe 2022/1/26 31:13:29----检查12.26.20.1:SSH登录发生异常!未能加载文件或程序集“ChilkatDotNet4.dll”或它的某一个依赖项
SNETCracker.exe 2022/1/26 31:13:29----检查12.26.20.1:SSH登录发生异常!未能加载文件或程序集“ChilkatDotNet4.dll”或它的某一个依赖项
141 0
|
1月前
|
安全 Shell 网络安全
ssh配置无密码验证
ssh配置无密码验证要在SSH中配置无密码验证,您需要使用公钥验证【2月更文挑战第18天】
37 1
|
2月前
|
安全 网络协议 Linux
|
2月前
|
安全 网络协议 Shell
SSH连接密码问题:原因、表现与解决方案
SSH连接密码问题:原因、表现与解决方案
83 3
|
2月前
|
关系型数据库 网络安全 数据库
通过SSH登录OceanBase数据库需要修改用户密码,然后使用SSH客户端进行远程登录
通过SSH登录OceanBase数据库需要修改用户密码,然后使用SSH客户端进行远程登录
69 6
|
2月前
|
存储 Linux 网络安全
如何在 Linux 中删除 SSL 证书和 SSH 密码?
如何在 Linux 中删除 SSL 证书和 SSH 密码?
79 1
如何在 Linux 中删除 SSL 证书和 SSH 密码?
|
2月前
|
网络安全 数据安全/隐私保护
如何使用ssh key免密码登录服务器?
如何使用ssh key免密码登录服务器?
|
3月前
|
安全 Linux Shell
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
85 0
|
3月前
|
安全 Linux 网络安全
服务器设置 SSH 通过密钥登录
服务器设置 SSH 通过密钥登录
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Xshell配置ssh免密码登录-公钥与私钥登录linux服务器
Xshell配置ssh免密码登录-公钥与私钥登录linux服务器
166 0