主题 : Putty 以加密证书登陆设置
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
0楼  发表于: 2010-12-27 21:34

Putty 以加密证书登陆设置


                  有时候需要使用Putty进行Unix,或者linux的远程登陆。 但是往往不易配置成功:
                    经常见到这个字眼:
                 
                  Unable to use key file "id_rsa" (OpenSSH SSH-2 private key)
                   或者这个问题:

                  server refused our key

现将配置方法总结如下:

                    1)生成密钥对: 公共钥匙和私密钥匙均需在*nix服务器生成。 不可以使用Puttygen.exe生成。

                         ~#:    ssh-keygen

                            系统会提示输入要保存密钥的文件名。此时按默认即可。

                            接着系统会提示输入密钥的密码:
                            确认输入:
 
                           (注意:有人希望偷懒不输入密码,这有极大的风险,即一旦密码失窃或者电脑被盗,他们就可以登陆服务器)
 
                       2)私钥转换:  将私钥复制出来,存放到windows下。 此密钥需要用puttygen.exe转换。否则无法使用。

                             运行Puttygen.exe, 然后将前面的私钥上载,也就是按load按钮。系统会提示输入密码,输入前面输入的密码。

                             此时会生成私钥和公共密钥。
                             将私钥另存在安全的地方。

                      3)公共密钥转移。 将前面1)中生成的密钥加入到家目录的.ssh目录的authorized_keys中

                           cat  keyname.pub >> .ssh/authorized_keys
 
                           注意,这里的authorized_keys的user 必须设置此家目录的用户,并且权限为600. 此用户名与Putty中登陆的用户名要一致,否则无法登陆。
                           chmod 600 authorized_keys

                           并且要检查一下.ssh的权限,需要设置为700 

                            chmod 700 .ssh

                      经过上述步骤,密钥设置完毕。


                      利用Putty客户端登陆:

                        1. 输入host name. 这里可以输入IP或者网址

                         2. 点击connection中的data: 输入auto-login username   此名称必须与.nix中的用户名一致。否则无法登陆

                         3. 点击connection中的SSH,选择Auth, 点击Browse, 查找上面保存的私人密钥,点击开启

                        上述设置完毕后,点击Open, 这时系统会提示输入密码。就可以登陆了。

                    如果使用Ubuntu,可以进行如下操作,取消密码登陆:


                      完成上述设置后,可以将/etc/ssh/sshd_config中的PasswordAuthentication yes改为no . 这样就不可以用密码登陆了。

                      /etc/init.d/ssh stop   停止ssh
                      /etc/init.d/ssh start   重新启动

                   

  参考资料:

                        How to set up SSH keys: Frustration with "Server refused our key"

                        Commen threads: OpenSSH key management
[ 此帖被若水在2013-10-25 12:05重新编辑 ]
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
1楼  发表于: 2010-12-28 21:54

证书验证情况下psftp使用方法:



PSFTP is command line FTP program that is distributedwith PuTTY. More importantly, it supports public key SFTP by using the ".ppk"file that you created for PuTTY above. Connecting using a public key is simplya different set of comment line [color=blue ! important]options:
psftp -l username -2 -i keys.ppkremotehost
-l username specifies your username on the remote host;-2 indicates that PSFTP should use SSH protocol version 2;-i keys.ppk specifies the location of your private key ascreated with PuTTYgen; remotehost is the name of the remotehost you're connecting to.
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
2楼  发表于: 2012-06-21 17:31

Ubuntu系统下,不要使用sudo 命令。在普通用户登录时,直接使用ssh-keygen 即可。
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
3楼  发表于: 2014-05-07 08:56

在FreeBSD 8.4安装时,系统必须重启sshd_config的设置才可生效。
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
4楼  发表于: 2016-12-03 18:49

CentOS7 依然可用
级别: 风云使者
UID: 3
精华: 1
发帖: 5641
威望: 2373 点
铜币: 5668 枚
贡献值: 0 点
好评度: 0 点
在线时间: 5716(时)
注册时间: 2010-06-13
最后登录: 2021-01-11
5楼  发表于: 2020-04-14 20:29

FreeBSD12.1 需要使用新的Putty, 否则会出现无法识别文件类型的错误。 unrecognized file type