㈠ Linux SSH 服务(SSH免密登录)
SSH是Linux系统中非常常见的服务之一。
首先,检查是否已经安装了SSH服务,大部分系统默认都安装了。可以通过查看安装的版本号来确认,例如:openssh-clients-8.0p1-24.el8.x86_64。
如果没有安装,可以使用yum工具进行安装。
接下来,配置SSH服务。首先确定SSH配置文件的位置,使用rpm -ql命令查看,默认位置为/etc/ssh/sshd_config。
启动SSH服务并将sshd加入开机启动中。
进行远程登录时,可以选择一个熟悉的SSH工具,如MobaXterm。输入用户名和密码后即可登录。
如果root用户无法登录,需要修改配置文件。使用vim编辑器打开配置文件,将#PermitEmptyPasswords no修改为PasswordAuthentication yes,允许root用户访问。
为了实现免密登录,需要创建密钥。使用ssh-keygen命令,按回车键继续即可。
将公钥传输到服务端。使用ssh--id命令,指定服务器的IP地址,将公钥传输过去。需要输入服务端的密码。
在服务端可以看到客户端发送过来的公钥,存储在/root/.ssh/authorized_keys文件中。
测试免密登录是否成功,并确保只允许通过密钥方式登录,不允许使用密码远程登录。
使用SCP命令进行远程复制。命令格式为SCP [参数] 本地文件 远程账号@远程IP地址:远程目录。
举例:将本地文件/root/xinzhu.txt复制到192.168.192.130:/tmp目录下。由于之前设置了免密登录,所以在远程复制时无需输入密码。
如果需要指定用户进行验证,需要在用户名和远程地址之间加上@符号。
㈡ Linux下实现免密码登录
在Linux环境下,实现免密码登录主要通过SSH密钥认证。首先,生成密钥对是基础操作。使用`ssh-keygen`命令,通过`ssh-keygen -t rsa`生成一个包含私钥(id_rsa)、公钥(id_rsa.pub)及配置文件的`.ssh`目录。该目录下,`authorized_keys`文件存放远程免密登录的公钥,记录多台机器的公钥信息,而私钥(id_rsa)则用于本地认证。
为了确保SSH公钥生效,需确保`.ssh`目录的权限为700,`authorized_keys`文件的权限为600。接下来,介绍实现远程免密登录的几种方法。
一种常用方法是使用`ssh--id`命令。执行命令`ssh--id -i ~/.ssh/id_rsa.pub 192.168.91.135`,将本地公钥复制到远程服务器的`authorized_keys`文件中。如果出现`-bash: ssh--id: command not found`错误,通过安装`openssh-clients`包解决问题。
另一种方法是通过`scp`命令将公钥内容复制到远程服务器的`authorized_keys`文件中,命令格式为`scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys`。同样,也可以将操作分为两步执行。
Ansible工具提供了批量免密登录的解决方案。通过Ansible配置,可以自动将公钥复制到多台服务器的`authorized_keys`文件中,实现批量免密码登录。
最后,手工复制粘贴也是实现免密码登录的一种方式。将本地`id_rsa.pub`文件的内容直接拷贝至远程服务器的`~/.ssh/authorized_keys`文件中,完成免密码登录的配置。