方法/步骤
首先,点击“文件”——“站点管理器"。
在d出的窗口中,主机设置为要连接的目标主机ip或者域名,协议要选择sftp。
登录类型一定要设置为“密钥文件”。
设置完成后,点击“浏览”选择密钥文件。关于ssh key密钥文件生成,可以参考之前发布的经验http://jingyan.baidu.com/article/f25ef254ad34a1482c1b8221.html
打开密钥文件后,格式不适合filezilla,会d出如下提示
直接选择是,如果你的ssh key设置了passphrase,则会出现如下图所示的内容。
在输入passphrase后,会提示保存密钥文件。选择相应的目录保存密钥文件,这个是以后filezilla要使用的私钥文件,很重要哦。
保存后,如果使用了passphrase,则需要输入passphrase进行登录,如果没有设置passphrase,则会直接登录(省去了很多事情)。
连接成功后,如下图所示,左侧窗口为本地文件目录,右侧为目标服务器的文件目录,这样就使用ssh key登录成功了。
1. ip账号密码
2.密钥key方式
通过秘钥方式进行sftp连接,需要在本地生成秘钥:ssh-keygen,然后一路回车或两次输入passphrase。接着在.ssh文件夹下使用命令 ssh-copy-id 账号@118.XX.XX.XX(目标服务器ip),将公钥加入到目标服务器的authorized_keys中,接着登录服务器进行.ssh目录,chmod 664 authorized_keys,赋予权限。如果是mac系统可以使用ssh-keygen -e。
秘钥文件路径keyFile是本地的私钥路径(包含文件名)。下面简单验证一下:
我保持本地私钥文件位置正确的情况下,改变服务器的私钥位置或名字,仍能够正常访问。
在秘钥验证时,我将keyFile路径设置为一个本地不存在的文件的路径,报错如下:
我再把参数keyFile变为一个本地存在的文件,但不是私钥文件位置。报错如下:
我将passphrase参数设置任意一个值,还是可以成功连接。这一点很疑惑,不知道为啥,但成功了就高兴。
properties.put("StrictHostKeyChecking", "no")StrictHostKeyChecking有三种选项,no、ask、yes。这三个选项代表了不同的级别,yes最高,no最低。在ssh访问服务器的过程中,会将服务器的公钥保存到本地的~/.ssh/known_hosts中,每次访问服务器都会检查此公钥是否发生变化,如果发生了变化,则这三个选项的设置如下:
no:自动将服务器新的公钥保存到known_hosts中,并发出一个警告;
ask:拒绝连接到服务器,且发出一个警告;
yes:拒绝连接到服务器,且不发出警告;
一般在测试环境下使用no,生产环境使用yes或ask。
参考: https://www.jianshu.com/p/090792e12518
https://juejin.im/post/6844904004493770759
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)