2010-12-08 99 views
5

在没有用户交互的情况下(非交互式)在脚本中使用sftp。例如登录到一个匿名FTP服务器,而不必手动。如何在没有密码的情况下使用SSH登录

+0

你询问SSH或FTP登录?问题标题和问题主体似乎有冲突... – Piskvor 2010-12-08 14:23:00

+0

您是否有权访问服务器?,因为您需要编辑配置文件。所以它会允许匿名连接。纠正我,如果我错了。希望这可以帮助。韦斯利。 – Wesley 2010-12-08 14:15:29

+0

4分钟视频教程在这里 - https://www.youtube.com/watch?v=tGwk6zM_NDM – 2016-10-29 17:37:37

回答

12

在您的计算机

cd ~/.ssh 
ssh-keygen -t dsa 

按在每个提示

Generating public/private dsa key pair. 
Enter file in which to save the key (/home/user/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_dsa. 
Your public key has been saved in /home/user/.ssh/id_dsa.pub. 
The key fingerprint is: 
ad:98:43:13:c9:ea:66:8e:d0:d9:66:59:d8:3a:f7:29 
The key's randomart image is: 
+--[ DSA 1024]----+ 
|     | 
|  . .   | 
|  +   | 
|  + . .  | 
| o = S .  | 
| . + = + .  | 
|. o @ = .  | 
| . B oEo .  | 
| . . .o  | 
+-----------------+ 

回车键,你将得到2个文件id_dsaid_dsa.pub使用SCP或其他实用程序文件复制到您的服务器

scp ~/.ssh/id_dsa.pub [email protected]:~/.ssh/ 

在您的服务器上

将新密钥添加到文件〜/ .ssh/authorized_keys中。

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 

最后改变接入方式;

chmod 600 ~/.ssh/authorized_keys 
chmod 700 ~/.ssh 

验证接入模式是正确的〜

ls -ld ~ 

如果没有,你可以使用

chmod 700 ~ 

纠正你的家庭接入。

注销并重新登录

3

要在每次登录时都不输入密码的情况下进行ssh登录,请将您的公用ssh密钥附加到目标服务器上的〜/ .ssh/authorized_keys文件中。您可以在〜/ .ssh/id_rsa.pub中找到您的公钥,或者如果它不存在,您可能需要生成一个。

见详细的解答,如果你想关闭SFTP问你的文件的每次转移YES/NO问题,使用您可以使用-n -i命令行参数的FTP脚本文件做FTP时here

0

可能。

ftpscript.in 
----------------- 
user username pwd 
get sourcefile targetfileonlocal 
bye 

然后你可以运行使用ftp -n -i servername<ftpscript.in,以避免让这个脚本“你想转移的资源文件?Y/N”之类的问题。要登录到没有用户名,密码的ftp服务器,那么服务器ftp需要允许匿名登录,如Wesley所述。

6

键入以下命令

  1. ssh-keygen

    ,直到你得到的提示

  2. ssh-copy-id -i [email protected]_address

    按Enter键(这将再次要求t他的主机系统的密码)

  3. ssh [email protected]_address

    现在,你应该能够不带任何口令

相关问题