使用public/private key让putty(ssh)自动登录

方法一(首选方法):使用linux命令ssh-keygen  
第一步:产生key  
ssh-keygen -b 密匙长度 -t 密匙类型 
密匙类型可以是:rsa1 (对应SSH1 RSA)、rsa 和 dsa (对应SSH2)如: 
Linux代码   收藏代码
  1. ssh-keygen -b 1024 -t rsa  

默认在~/.ssh下会生成 id_rsa和 id_rsa.pub 
  id_rsa是private key, 
  id_rsa.pub是public key (密钥类型 RSA,密钥长度 1024)。 
  把id_rsa.pub 复制为authorized_keys(仍然在.ssh目录) 


第二步:设置linux客户端主机  
复制私钥到客户linux机 
scp server_hostname:/home/username/.ssh/id_rsa /myfolder 
接下里就可以用ssh直接执行远程linux命令了 
ssh -i /myfolder/id_rsa  username@server_hostname <linux command> 

第三步:Windows客户端(putty)  
如果想使用putty,因为ssh-keygen生成的SSH2密匙和putty的密匙格式不同,无法直接使用,必须用 puttygen.exe 转换一下。 
使用winscp (推荐)或者 psftp.exe 或者ftp把id_rsa下载到本地,运行puttygen.exe,选择菜单Conversions->Import key 
然后save private key (比如key.ppk),就可以使用这个private key设置putty了,设置方法和上面相同。 

方法二:使用puttygen.exe  

第一步:生成密匙  
运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了。 
passphrase可以为空,免得登录时还是要输入一次密码。 
点击Save private key 按钮保存公匙和私匙,例如key.ppk,public key不用保存,以后使用Puttygen.exe Load功能就可以显示public key。 

第二步:上传密匙  
用自己的帐号登录linux主机,然后执行下面的命令: 
Linux代码   收藏代码
  1. cd ~  
  2. mkdir .ssh  
  3. chmod 700 .ssh  
  4. cd .ssh  
  5. cat > authorized_keys  

(复制puttygen public Key 文本框内的内容,按 Ctrl+C 复制到剪贴板中。以前产生的key,那么使用load 功能,就可以显示public key了,然后在Putty窗口中按Shift+Ins粘贴) 
(再按Ctrl+D键,完成文件的创建) 
$ chmod 600 authorized_keys 

第三步:设置Putty  
1) 启动Putty,设置好session的各项参数(如果以前已经设置过,那么load一下),然后从左边选择“SSH->Auth”,点击 Browse 按钮,选择 key.ppk 文件。 
2) 设置 auto-login 用户名,Connection -> Data -> Auto-login username 
3) 再从左边选择 Session,然后点击 Save 按钮把修改保存下来 。然后点击Open 按钮就可以登录了。 

如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。到这里基本可以结束了。。。。但是如果希望这个private key使用在linux主机上,不用密码登陆上放有public key的主机上,那么: 

第四步:linux private key设置  
(运行puttygen.exe,load 前面保存的key.ppk,如果还没关puttygen.exe,这一步就不用了) 
选择菜单Conversions->Export OpenSSH key,保存成文件id_rsa,上传到linux主机的~/.ssh/目录下,这样这台主机就可以不用密码登陆到前面放有public key的主机上了。 
$ chmod 600 ~/.ssh/id_rsa 


疑难杂症: 确认按照前面的步骤做了,可是putty登录时提示putty: server refused our key。 
这是sshd_config的配置问题,需要修改sshd配置文件(/etc/ssh/sshd_config)将行StrictModes yes修改为StrictModes no,重新启动SSHD(service sshd restart) 
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Putty是一款SSH客户端软件,可以用于远程登录Linux系统。使用Putty登录Linux系统需要先在Linux系统上安装SSH服务,然后在Putty中输入Linux系统的IP地址和SSH端口号,选择SSH协议,输入用户名和密码即可登录Linux系统。登录成功后,可以在Putty中执行Linux命令,管理Linux系统。 ### 回答2: putty是一款在Windows系统上使用SSH客户端程序,可以通过putty实现与远程Linux服务器之间的通信,可以在Windows系统上实现远程登录、文件传输、远程管理等功能。我们可以通过以下步骤使用putty进行SSH登录Linux: 第一步,首先需要在Linux服务器上启用SSH服务,可以通过以下命令来安装: sudo apt-get install openssh-server 安装完成之后,需要确认SSH服务已经启动,可以通过以下命令检查: sudo service ssh status 第二步,下载putty客户端,可以在官方网站下载并安装putty客户端。 第三步,打开putty客户端,输入Linux服务器IP地址和端口号,并选择SSH连接方式,如下图所示。 ![image-1.png](attachment:image-1.png) 第四步,点击“Open”按钮,如果是第一次连接,会提示保存服务器的主机密钥,点击“Yes”按钮保存。 第五步,连接成功后会出现一个命令行窗口,输入Linux服务器的用户名和密码,即可进入Linux系统。 通过以上步骤,我们可以使用putty进行SSH登录Linux,实现远程管理和操作Linux服务器。同时,putty还支持文件传输、远程执行命令、端口转发等功能,可以帮助我们更好地管理和运维Linux服务器。 ### 回答3: Putty是一款在Windows系统上使用SSH(Secure Shell)协议连接Linux服务器的软件工具。当我们需要在Windows操作系统上远程访问Linux服务器时,使用Putty是非常方便和快捷的。 使用Putty登录Linux服务器,需要先确定使用的是SSH协议,然后输入服务器的IP地址和端口号,点击连接即可。 首先,我们需要先下载并安装Putty软件。安装好后,打开Putty并按如下步骤进行设置: 1. 打开Putty软件后,在主界面中找到Session选项; 2. 输入服务器的IP地址和端口号; 3. 在Connection Type选项中勾选SSH协议; 4. 按下Open按钮,开始连接服务器; 5. 输入账号和密码完成登录。 如果没有设置过公钥认证,第一次登录服务器时,系统会提示是否接受“远程计算机的公钥”以及是否记录该公钥。如果你确定该服务器是安全的,可以勾选“是”选项进行确认。一旦确认,Putty就会记录该公钥,以便下次登录使用。 在Putty的设置中,还可以设置显示、键盘、远程协议、连接、SSH、TTY等选项,以满足各种不同的需求。 总之,使用Putty登录Linux服务器是非常方便和快捷的。只要按照上述步骤操作,即可轻松地完成远程登录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值