Linux服务器搭建SSH免密登录
一、什么是SSH?
- 管理员可以通过 远程登陆 的方式,对通过网相连的分散于各处的多台主机进行管理操作。
- 管理员可以对远程主机进行如下操作:
- 远程登陆
- 远程命令执行
- 远程文件传输
- 存在的问题:这些操作不安全!
- 使用纯文本口令,并用明文发送
- 信息可能会被截取,口令可能会被检索
- 未经授权的人员使用截取的口令登陆系统而对系统造成危害
SSH的目标
- 在不安全的网络上提供安全的网络服务。
二、配置前的准备
- 配置hosts文件:
vi /etc/hosts
在文件尾部添加
192.168.1.106 linux1
192.168.1.107 linux2
192.168.1.108 linux3
192.168.1.109 linux4
- 安装 open-ssh:
yum install -y openssh-server openssh-clients
- 启动ssh:
# 以下二者均可
service sshd start
/etc/init.d/sshd start
- 配置开机启动:
chkconfig --level 2345 sshd on
三、配置SSH免密登录
ssh-keygen -t rsa
生成密钥后会在用户的根目录生成一个 “.ssh” 文件夹
进入“.ssh”会生成以下几个文件:
- 文件含义:
- authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
- id_rsa :生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 已知的主机公钥清单
- 如果希望ssh公钥生效需满足至少下面两个条件:
- .ssh目录的权限必须是700 (drwx------)
- .ssh/authorized_keys文件权限必须是600(-rw------)
配置免密登录
- 通过ssh-copy-id的方式
ssh-copy-id -i ~/.ssh/id_rsa.pub [ip/hosts]
- 通过scp将内容写到对方的文件中
scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
四、SSH用法
- ssh登录另一台linux
ssh [ip/hosts]
- 退出登录:
exit
- 复制文件
scp srcFilePathName targetHostIp:/path
- 复制文件夹
scp –r folder username@ip/hosts:/path