sftp使用证书登录

1、用户名密码登录方式
1)sftp root@192.168.12.218
2)输入密码

2、在当前登陆系统的用户家目录下创建sftp/keys子目录
mkdir ~/sftp/keys -p

3、使用ssh-keygen系统命令,在指定路径下生成以demo命名的公私钥对并设置私钥密码为12345678
ssh-keygen -P "12345678" -f ~/sftp/keys/demo_sftp

4、公钥格式转换,使用-e参数导出成为“RFC4716”标准格式秘钥
不同sftp工具导入的公钥格式不同(可选)
ssh-keygen -e -f ~/sftp/keys/demo_sftp.pub | tee ~/sftp/keys/demo_sftp.mod

5、文件
私钥:
demo_sftp
公钥:
demo_sftp.pub(原始的公钥)
demo_sftp.mod(转换格式后的公钥)

6、如果是直接在服务器配置,将pub文件放到sftp服务端配置
vi /etc/sshd_config
查看路径:
PasswordAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /appserver/pbcs/sftp_key.pub

将demo_sftp.pub内容追加到/appserver/pbcs/sftp_key.pub:
cat /tmp/demo_sftp.pub >> /appserver/pbcs/sftp_key.pub

7、客户端登录
sftp -oIdentityFile=/root/sftp/keys/demo_sftp -oPort=22 root@192.168.12.218
Enter passphrase for key '/root/sftp/keys/demo_sftp':
Connected to 192.168.12.218.
sftp>

要输入证书密码,这样就隐藏了真实用户名和秘密