linux ssh密钥认证
生活随笔
收集整理的這篇文章主要介紹了
linux ssh密钥认证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SSH是一個在應用程序中提供安全通信的協議.
為什么我要使用SSH?
Telnet服務雖然使用方便,但是由于安全性不高(因為明文發送賬號密碼), 因此目前通常使用SSH(Secure Shell)代替Telnet進行遠程管理。SSH是一個在應 用程序中提供安全通信的協議,通過SSH可以用安全的訪問服務器,因為SSH基于 成熟的共鑰加密體系,把所有的傳輸的數據進行加密,保證數據在傳輸時不被惡 意破壞,泄漏,篡改。SSH還是用了多種加密和認證方式,解決了傳輸中數據加密 和身份認證的問題,能有效的防止網絡嗅探和ip欺騙等***。
OpenSSH
Linux下廣泛使用免費的OpenSSH程序來實現SSH協議.Red Hat Enterprise linux 4也同樣使用OpenSSH.它同時支持SSH1和SSH2協議. 一、檢查系統是否安裝OpenSSH
[root@simple ~]# rpm -q openssh-server
openssh-server-3.9p1-8.RHEL4.15 二、SSH服務的配置
1、配置SSH服務的運行參數,是通過修改配置文件/etc/ssh/sshd_config實現的 。
2、因為SSH服務使用默認的配置已經能夠很好的工作,如果僅僅提供SSH服務不需 要修改。這里只介紹一
些常用的選項。
#Port 22
定義了SSH服務監聽的斷口號,SSH服務默認使用的端口號是22
#Proctocol 2,1
定義了SSH服務器使用SSH協議的順序。默認識先使用SSH2協議,如果不成功則使 用SSH1協議,為了安全起
見,可以設置只使用SSH2協議。
#ListenAddress 0.0.0.0
定義SSH服務器幫定的IP地址,默認綁定服務器所有可用的IP地址.
#PermitRootLogin yes
定義是否允許管理員登陸
#PermitEmptyPasswords no
定義是否允許空密碼登陸.
#PasswordAuthentication no
定義是否使用口令認證方式,如果準備使用公鑰認證可以設置為no 三、使用公鑰認證 1、原理:首先由用戶生成一對密鑰,然后將公鑰保存在SSH服務器用戶的目錄 下.ssh子目錄中的authorized_key文件里(/root/.ssh/authorized_key).私鑰保 存在本地計算機.當用戶登陸時,服務器檢查authorized_key文件的公鑰是否與用 戶的私鑰對應,如果相符則允許登入,否則拒絕.由于私鑰只有保存在用戶的本地計 算機中,因此***者就算得到用戶口令,也不能登陸到服務器.
2、啟用公鑰認證
修改配置文件/etc/ssh/sshd_config
將”PasswordAuthentication yes”修改為”PasswordAuthentication no”
3、生成密鑰 A:192.168.1.159 [root@159 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
dd:61:6a:1e:df:37:14:61:0a:f1:9f:b3:37:5e:bb:1c root@159 [root@159 ~]# cd .ssh/
[root@159 .ssh]# ls
id_rsa? id_rsa.pub [root@159 .ssh]# scp id_rsa.pub root@192.168.1.39:/root/.ssh/authorized_keys B:192.168.1.39 [root@39 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
66:7b:2f:d8:af:db:f0:37:aa:09:05:25:fc:4f:0b:4c root@39 [root@39 ~]# cd .ssh/ [root@39 .ssh]# ls
authorized_keys? id_rsa? id_rsa.pub? known_hosts [root@39 .ssh]# scp id_rsa.pub root@192.168.1.159:/root/.ssh/authorized_keys 四:驗證: [root@39 .ssh]# ssh 192.168.1.159
Last login: Mon Jun 27 10:47:03 2011 from 192.168.1.39
[root@159 ~]# [root@159 .ssh]# ssh 192.168.1.39
Last login: Fri Jun 10 08:05:47 2011 from 192.168.1.159
[root@39 ~]#
為什么我要使用SSH?
Telnet服務雖然使用方便,但是由于安全性不高(因為明文發送賬號密碼), 因此目前通常使用SSH(Secure Shell)代替Telnet進行遠程管理。SSH是一個在應 用程序中提供安全通信的協議,通過SSH可以用安全的訪問服務器,因為SSH基于 成熟的共鑰加密體系,把所有的傳輸的數據進行加密,保證數據在傳輸時不被惡 意破壞,泄漏,篡改。SSH還是用了多種加密和認證方式,解決了傳輸中數據加密 和身份認證的問題,能有效的防止網絡嗅探和ip欺騙等***。
OpenSSH
Linux下廣泛使用免費的OpenSSH程序來實現SSH協議.Red Hat Enterprise linux 4也同樣使用OpenSSH.它同時支持SSH1和SSH2協議. 一、檢查系統是否安裝OpenSSH
[root@simple ~]# rpm -q openssh-server
openssh-server-3.9p1-8.RHEL4.15 二、SSH服務的配置
1、配置SSH服務的運行參數,是通過修改配置文件/etc/ssh/sshd_config實現的 。
2、因為SSH服務使用默認的配置已經能夠很好的工作,如果僅僅提供SSH服務不需 要修改。這里只介紹一
些常用的選項。
#Port 22
定義了SSH服務監聽的斷口號,SSH服務默認使用的端口號是22
#Proctocol 2,1
定義了SSH服務器使用SSH協議的順序。默認識先使用SSH2協議,如果不成功則使 用SSH1協議,為了安全起
見,可以設置只使用SSH2協議。
#ListenAddress 0.0.0.0
定義SSH服務器幫定的IP地址,默認綁定服務器所有可用的IP地址.
#PermitRootLogin yes
定義是否允許管理員登陸
#PermitEmptyPasswords no
定義是否允許空密碼登陸.
#PasswordAuthentication no
定義是否使用口令認證方式,如果準備使用公鑰認證可以設置為no 三、使用公鑰認證 1、原理:首先由用戶生成一對密鑰,然后將公鑰保存在SSH服務器用戶的目錄 下.ssh子目錄中的authorized_key文件里(/root/.ssh/authorized_key).私鑰保 存在本地計算機.當用戶登陸時,服務器檢查authorized_key文件的公鑰是否與用 戶的私鑰對應,如果相符則允許登入,否則拒絕.由于私鑰只有保存在用戶的本地計 算機中,因此***者就算得到用戶口令,也不能登陸到服務器.
2、啟用公鑰認證
修改配置文件/etc/ssh/sshd_config
將”PasswordAuthentication yes”修改為”PasswordAuthentication no”
3、生成密鑰 A:192.168.1.159 [root@159 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
dd:61:6a:1e:df:37:14:61:0a:f1:9f:b3:37:5e:bb:1c root@159 [root@159 ~]# cd .ssh/
[root@159 .ssh]# ls
id_rsa? id_rsa.pub [root@159 .ssh]# scp id_rsa.pub root@192.168.1.39:/root/.ssh/authorized_keys B:192.168.1.39 [root@39 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
66:7b:2f:d8:af:db:f0:37:aa:09:05:25:fc:4f:0b:4c root@39 [root@39 ~]# cd .ssh/ [root@39 .ssh]# ls
authorized_keys? id_rsa? id_rsa.pub? known_hosts [root@39 .ssh]# scp id_rsa.pub root@192.168.1.159:/root/.ssh/authorized_keys 四:驗證: [root@39 .ssh]# ssh 192.168.1.159
Last login: Mon Jun 27 10:47:03 2011 from 192.168.1.39
[root@159 ~]# [root@159 .ssh]# ssh 192.168.1.39
Last login: Fri Jun 10 08:05:47 2011 from 192.168.1.159
[root@39 ~]#
?
轉載于:https://blog.51cto.com/sophyxyx/724033
總結
以上是生活随笔為你收集整理的linux ssh密钥认证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无知乱吃药
- 下一篇: 【005】◀▶ C#学习笔记(四)(集合