LINUX程序员在日常工作中都会遇到远程登陆这样的问题,每次输入密码是不是很烦人.
我就在这整理一下,ssh证书到底是怎么搞的!
在linux下使用ssh认证,不输入密码访问另一台机器
在工作中由于常用到ssh登录其它机器,所在每台机器上做了ssh认证,这样就不用每次都输入繁琐的密码。
有两台机器:server_1 和 server_2
账号都为:work
转到work账号下:su - work
运行:ssh-keygen -t rsa (一路回车下去 )
命令输出为:
Enter file in which to save the key (/home/work/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/work/.ssh/id_dsa.
Your public key has been saved in /home/work/.ssh/id_dsa.pub.
The key fingerprint is:
32:21:e1:3b:7d:6e:de:4b:39:da:af:38:fe:90:40:61
在/home/work目录下就产生了.ssh的隐含目录,进入些目录下产生两个文件:
id_dsa ------------ 私钥文件
id_dsa.pub ------------ 公钥文件
将id_dsa.pub复制一份文件名为:authorized_keys2
并将 authorized_keys2 的属性改为 600 即文件所属用户有读和写的权限,组用户和其它用户禁止读写,用命令:
代码:
cp id_dsa.pub authorized_keys2
chmod 600 authorized_keys2
同样在server_2上做以上操作,下一步就实现真正的ssh认证了:
将server_1上/home/work/.ssh目录下的id_dsa.pub公钥文件拷到server_2的/home/work/.ssh目录下(注意:不要覆盖掉server_2的id_dsa.pub,拷时要改名)如:
代码:
[work@server_1 .ssh]$ scp id_dsa.pub
在server_2的/home/work/.ssh目录下就有了如下文件:
authorized_keys2
id_dsa
id_dsa.pub
server_1.pub
用命令:
代码:
cat server_1.pub >> authorized_keys2
(注意一定要用追加操作 ">>" 不能用 ">")
这样server_1到server_2的ssh认证就做好了。在server_1上用命令:
代码:
ssh
就直接登录到server_2上,而不用输入密码了。
server_2到server_1的认证同上操作即可。
==From Jacky Jia
分享到:
相关推荐
完成上述步骤后,你应该能在不输入密码的情况下从本地机器通过SSH登录到`node158`。但请注意,免密登录仅限于生成密钥对的用户,即`zk`用户。如果你想让其他用户如`root`也能免密登录,需要为这些用户重复上述过程,...
在Linux系统中,SSH(Secure Shell)是一种网络协议,用于安全地远程登录到另一台计算机。SSH免密码登录是Linux管理员常用的便捷功能,它允许用户在不同主机间进行身份验证时无需每次都输入密码,提高效率并减少手动...
Linux SSH Putty.zip 文件是一个与远程访问Linux服务器相关的压缩包,它包含了一个流行的终端模拟器Putty,用于连接到Linux系统使用SSH(Secure Shell)协议。SSH是一种网络协议,允许用户安全地通过不安全的网络...
SSH公钥认证机制允许用户在不输入密码的情况下进行登录,提高了自动化运维的安全性和效率。本篇将详细介绍如何在Linux上使用SSH公钥实现免密码登录。 首先,我们需要理解SSH的公钥/私钥对。公钥是公开的,可以分享...
4. **SCP(安全复制)**:说明如何使用scp命令将文件安全地从一台机器复制到另一台。 5. **端口转发**:解释如何设置端口转发,以通过SSH隧道安全地访问远程服务。 6. **安全性最佳实践**:提供关于保持SSH配置安全...
2. **文件传输**:SSH支持SFTP(SSH File Transfer Protocol)和SCP(Secure Copy),可以安全地在两台机器间传输文件。 3. **命令执行**:用户可以通过SSH发送单个命令到远程主机,而不必打开一个完整的shell会话...
当首次使用 SSH 连接到另一台机器时,系统会提示用户确认目标主机的公钥指纹是否可信。例如: ```bash # ssh 192.168.0.44 ``` 如果选择接受并输入 `yes`,则会在用户的家目录下生成一个名为 `.ssh/known_hosts` 的...
完成上述步骤后,可以尝试从另一台机器上使用SSH客户端连接到Ubuntu服务器。使用以下命令进行测试: ```bash ssh your_username@your_server_ip -p 2222 ``` 其中`your_username`是Ubuntu服务器上的用户名,`your_...
- SSH支持多种认证方式,包括密码认证和密钥认证,提供了加密的数据传输。 **2. 安装与配置** - 进入X Window系统,打开终端,输入`setup`命令,选择“System Services”来启动SSHD服务。 - 编辑`/etc/ssh/sshd_...
1. **远程登录**:SSH允许用户通过命令行界面远程登录到另一台计算机,执行各种管理任务。用户只需在本地终端输入`ssh 用户名@远程主机IP`即可开始会话。 2. **命令执行**:除了登录,SSH还可以用于执行远程主机上...
在Linux系统中,我们可以利用SSH的非交互式特性,通过公钥认证来避免每次登录都需要输入密码。 在开始之前,确保你已经设置了SSH密钥对。在本地机器上生成SSH密钥对(通常为id_rsa和id_rsa.pub),并将公钥(id_rsa...
9. **nis+(Network Information System Plus)**:一种网络服务,用于在多台机器之间共享用户账户信息,简化了大型网络环境中的用户管理。 10. **kerberos**:Kerberos是一种强大的网络认证协议,它提供了对网络...
5. **密码免登**:通过配置公钥认证,用户可以在无需输入密码的情况下实现自动登录,提高工作效率。 **SSH的工作原理** SSH使用非对称加密技术,即公钥/私钥对。服务器会生成一对密钥并公开公钥,客户端在连接时...
然而,每次登录都需要输入密码会增加管理的繁琐程度,特别是在需要批量管理多台服务器时。因此,“批量配置Linux免密登录”成为一个实用的需求。 标题“批量配置Linux免密登陆”指的是通过自动化脚本实现无需密码...
通过配置SSH密钥对,用户可以从外部机器通过跳板机安全地连接到内网中的其他服务器,而无需在每台服务器上输入密码。 "Automatic Login SSH"的核心在于无密码登录,这主要依赖于SSH公钥认证。以下是一步一步的实现...
使用SSH密钥代理(如`ssh-agent`)可以在多台机器间无缝切换,而无需反复输入私钥密码。 通过以上步骤,你可以成功搭建并运行SSH服务,实现安全的远程访问。在专研过程中,理解这些知识点将有助于提升你的系统管理...
使用`SCP`,你可以将文件或目录从一处位置复制到另一处,无论是同一台机器的不同路径,还是不同机器之间。其基本语法如下: ```bash scp [选项] 源 目标 ``` 例如,要将本地的`file.txt`上传到远程服务器的`/home/...
如果想要多台机器之间互信,例如B和C也能无密码访问A,需要将B和C的公钥分别添加到A的`~/.ssh/authorized_keys`文件中,每行一个公钥。 配置完成后,用户可以在A、B或C之间自由切换,而无需每次都输入密码,提高了...
2. **SSH配置文件**:在Unix/Linux系统中,SSH的配置文件通常位于`~/.ssh/`目录下,包括`config`文件用于个性化设置,`id_rsa`(私钥)和`id_rsa.pub`(公钥)用于认证。 3. **SSH连接**:使用`ssh user@hostname`...