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