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
相关文章
|
27天前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
27天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
26天前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
60 1
|
1月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
34 4
|
1月前
|
安全 Shell 网络安全
告别繁琐密码,一键解锁GitHub高效秘籍!SSH配置大揭秘,让你的代码托管之旅飞起来!
【8月更文挑战第4天】在使用GitHub时,频繁输入账号密码颇为不便。采用SSH协议可提升安全性并简化流程。本文以问答形式指导你快速配置GitHub SSH:了解SSH优势、学会生成与添加SSH密钥及测试连接。通过简单的步骤,即可实现无缝代码推送与拉取,享受高效、安全的开发体验。记得保护好私钥并根据需要设置多个密钥对。
43 7
|
29天前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
46 0
|
29天前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
2月前
|
安全 Linux 网络安全
|
1月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
|
2月前
|
Shell 网络安全 数据安全/隐私保护
MacOS Sonoma14.2.1系统SSH免密登录
【7月更文挑战第9天】在MacOS Sonoma 14.2.1中设置SSH免密登录,包括:1) 使用`ssh-keygen`生成RSA密钥对;2) 使用`ssh-copy-id`将公钥传到远程主机;3) 用`ssh-add --apple-use-keychain`添加私钥到ssh-agent,并为重启后自动添加配置自动化脚本;4) 可选地,编辑`~/.ssh/config`设置别名简化登录。确保远程主机的`.ssh/authorized_keys`文件权限为600。
109 4