利用ssh-keygen工具使ssh/sftp无密码登录服务器

来源:互联网 发布:国外it技术博客 编辑:程序博客网 时间:2024/05/21 15:57

需要在linux远程使用sftp上传、下传文件的时候,sftp脚本比较麻烦,网上很多介绍使用lftp工具,不过实际使用的时候发现并不好用,最后利用ssh-keygen工具发现非常方便,步骤如下:


第一步,在客户端需要使用的用户shell下运行ssh-keygen -t rsa 命令。主要要使用具体需要使用sftp的用户。

系统会提示

Generating public/private rsa key pair.
Enter file in which to save the key (/home/用户/.ssh/id_rsa):

输入需要保存key 的文件名,直接回车即可

Created directory '/home/用户/.ssh'.

Enter passphrase (empty for no passphrase):

                                                    输入密码短语,这个是为了保护这一套key,一般安全需求的情况下,直接回车即可
Enter same passphrase again:
Your identification has been saved in /home/用户/.ssh/id_rsa.
Your public key has been saved in /home/用户/.ssh/id_rsa.pub.
The key fingerprint is:
d1:ff:9e:98:70:e9:d0:d0:3a:1c:ef:ad:ab:92:cb:ae 用户@本机
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         .       |
|        . .      |
|         . o     |
|        S o o    |
|         . * o   |
|         .* = .  |
|       .o  B = . |
|      Eo+o..Bo+  |
+-----------------+ 

于是,在用户目录下,生成了一个.ssh目录,里面有两个文件。


第二步:将id_rsa.pub文件上传到服务器需要登录的用户目录下同样建立.ssh目录中,例如服务器目录为suser1

则为  /home/suser1/.ssh目录,并改名为 authorized_keys  于是完整目录为

/home/suser1/.ssh/authorized_keys 


第三步:分别把服务端和客户端的.ssh目录及以下文件的权限去掉组和其他的,只留下该用户的


最后,就是直接使用了,注意sftp的时候要用用户名 

sftp 用户名@服务端地址

就直接登录了。

0 0
原创粉丝点击