Winscp使用密鑰登錄


Winscp使用密鑰登錄

背景:通常我們使用winscpimage通過密碼認證去連接服務器進行文件的ftp操作,但是為了安全,我們服務器上經常會禁止使用密碼連接,而改用密鑰認證。而且服務器上經常會禁止root用戶直接登錄。所以接下來我們就講下怎么用winscp去使用密鑰認證,以及登入后如何從普通用戶su到root用戶。

一、使用OpenSSH密鑰連接

Winscp使用的是putty作為SSH登錄工具,而puttygen所生成的是以.ppk結尾的密鑰文件,所以你使用xshell生成的密鑰會提示添加失敗,此時你有兩種選擇,

1、使用putty重新生成putty格式的密鑰,並添加到服務器上。

2、將openssh格式的私鑰轉換成winscp支持的.ppk格式。

這里,我們選擇第二種方式。如下:

1、嘗試用winscp直接導入xshell的密鑰報錯

Winscp--》高級--》SSH--》驗證--》密鑰文件

wps4FE.tmp

wps4FF.tmp

接着我們導入之前xshell生成的密鑰,就報錯了,彈出如下窗口:

wps500.tmp

此時報錯了,因為之前用xshell導出的密鑰是OpenSSH格式的,而winscp不支持這種格式,所以我們要將該密鑰轉換成winscp支持的.ppk格式。

2、OpenSSH轉換成ppk格式

參考:https://www.cnblogs.com/Waterclouds/p/4768768.html

打開winscp--》工具--》運行PuTTYgen(G)

wps501.tmp

打開puttygen 選擇-Load 找到你之前用xshell生成的open-ssh格式的密鑰文件,選擇所有格式然后加載你的私鑰

wps502.tmp

wps513.tmp

wps514.tmp

輸入之前open-ssh密鑰的口令:

wps515.tmp

然后就是導入成功,保存私鑰文件為.ppk格式。

wps516.tmp

wps517.tmp

格式轉換完畢,最后重新導入ppk文件,即可。

wps518.tmp

此時,密鑰文件導入成功,重新登錄即可通過winscp用密鑰認證連接了。

二、sftp后sudo成root用戶

參考:https://www.cnblogs.com/liangzai-cool/p/5956090.html

一般服務器為了安全禁止ssh下root賬號登錄,此時使用sftp登錄管理服務器只能使用普通賬號登錄,所以訪問路徑的時候,經常會碰到權限不足的問題,如下圖:

wps519.tmp

1、獲取sftp-server的路徑

[root@localhost ~]# cat /etc/ssh/sshd_config | grep sftp
Subsystem sftp /usr/libexec/openssh/sftp-server

wps51A.tmp

這個/usr/libexec/openssh/sftp-server路徑,后面幾步都要用到。

2、配置能夠sudo的用戶

步驟一里面我們配置了可以用sftp通過密鑰登錄。所以,這里針對同一個用戶,要配置sudo權限。

[root@localhost doubles]# vim /etc/sudoers
doubles ALL=(root)  NOPASSWD:  ALL

或者

doubles ALL=(root)  NOPASSWD:/usr/libexec/openssh/sftp-server

3、配置winscp

Winscp--》高級--》sftp,選擇SFTP服務器,選擇sudo su -c ...,並且將路徑改為上面獲取到的sftp-server路徑:/usr/libexec/openssh/sftp-server,如下圖

wps52A.tmp

點擊確定,保存,然后登錄即是root用戶了,對系統有生殺大權。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM