Up in the Air!
在云端
Home
Categories
Archives
Tags
About
Home
SSH无密码登录及WinSCP和PuTTY设置
SSH无密码登录及WinSCP和PuTTY设置
取消
SSH无密码登录及WinSCP和PuTTY设置
由
aoeII
发布于 2018-08-02
·
最后更新:2018-08-02
1372
本文转载自[SSH 无密码登录及 putty 设置](https://appso.github.io/2017/09/12/authentication/),并进行了细微的修改。介绍了如何使用密钥登录linux主机并禁止密码登录,防止被暴力破解。转载请保留原文链接。 # 1、生成公钥和私钥 Linux 系统中绝大部分的发行版都是用 OpenSSH,所以生成公钥私钥的时候最好用 ssh-keygen 命令,如果用 putty 自带的 PUTTYGEN.EXE 生成会不兼容 OpenSSH,从而会导致登录时出现 server refused our key 错误。 用 root 登录后运行命令如下。 ``` [root@www ~]# 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: SHA256:5jfdAFDaFDAFDAFDAFdfdgthjththXngao root@www.yourdomain.com The key's randomart image is: +---[RSA 2048]----+ | oo | | ooo | | . dd | | o 2dfdfd .++| | .ddd | | 3. .uiyyu . . | | 33d o.ddgda | | o . 1wo | | . ..dde | +----[SHA256]-----+ ``` 在 `/root/.ssh/` 目录下生成了2个文件,`id_rsa` 为私钥,`id_rsa.pub` 为公钥。私钥请下载到本地电脑妥善保存,公钥则可以任意公开。 # 2、导入公钥 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys # 3、制作用于 PuTTY 的私钥 使用 [`WinSCP`](https://winscp.net/eng/download.php) 等工具将 VPS 上的 `/root/.ssh/id_rsa` 下载到本地,利用 [`PUTTYGEN.EXE`](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 转换为 putty 用的 ppk 文件。  点击 `File`,`Load private key`,导入 `id_rsa` 文件。  建议为要保存到本地硬盘的密钥文件.ppk设置密码**`Key passphrase`**,以增强安全性 成功后的图片如下所示:  点击 `Save private key` 按钮,生成一个后缀为 ppk 的文件。这个文件就是已经制作好的用于 putty 无密码登录的密钥了,保存在一个安全的地方。 # 4、为 [`WinSCP`](https://winscp.net/eng/download.php) 和 [`PuTTY`](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)配置密钥登录 ## 4.1 WinSCP 选择新建站点或者修改原有站点,点击密码框下方的`高级`,`高级`  依次点击`SSH`,`验证`,`密钥文件`,选择本地硬盘上的ppk密钥文件后,`确定`,`保存`,`连接`。  ## 4.2 PuTTY  # 5、尝试使用密钥登录 用修改后的配置通过密钥登录到服务器,验证登录是否成功。 登录过程中,可能需要输入上面设定的私钥密码 WinSCP登录中输入密钥密码的提示  PuTTY登录成功后提示  # 6、更改 SSH 配置文件 修改 SSH 的配置文件 `/etc/ssh/sshd_config`,找到下面3行: #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys 在有的系统里,`#RSAAuthentication yes` 这一行可能不存在,不用添加。 将前面的 # 去掉后保存。找到下面: PasswordAuthentication yes 修改为: PasswordAuthentication no 重启 SSH 服务,运行命令: service sshd restart # 或者 systemctl restart sshd.service 至此,就只能用私钥登录到 VPS 了,安全性大大增强。
blog
linux
ssh
winscp
putty
centos
linux
该博客文章由作者通过
CC BY 4.0
进行授权。
分享
最近更新
ESXi 6.7 离线升级 7.0U3
N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)
Leanote 支持 emoji、chart.js 以及 mermaid
手把手教你自建开源免费私有云盘服务nextcloud 14
在Centos 6和7上安装设置MySQL / MariaDB 5.5或以上的版本
热门标签
linux
centos
python
ESXi
windows
Docker
jellyfin
leanote
cmd
font
文章目录
ESXi 6.7 离线升级 7.0U3
彻底禁用Windows 10更新