无需密码直接ssh或sftp到另外一个服务器的方法

时间:2022-12-29 18:10:08
简单几步,实现无需输入密码直接ssh或sftp到另外一个服务器:

  • 发起ssh或sftp的机器C假设为192.168.0.2
  • 被ssh或sftp的机器S假设为192.168.0.3
  • 用户为:root

基本原理:
在C生成一对公钥和私钥,私钥放在C,公钥上传到S

1,在C中:生成公钥和私钥
cd /root
mkdir .ssh (如果没有这个目录)
cd .ssh
ssh-keygen -t rsa (有提示直接按回车)
(生成了两个文件:私钥:id_rsa、公钥:id_rsa.pub)

2,在S中:配置sshd 服务
vim /etc/ssh/sshd_config
----------------------------
AuthorizedKeysFile      .ssh/authorized_keys
----------------------------

3、把C中id_rsa.pub文件的内容拷贝追加到S的authorized_keys文件中
或直接拷贝文件: rsync -avzuP -e "ssh -p6022" 192.168.0.2:/root/.ssh/authorized_keys .
注意:拷贝的时候不要有换行符号!直接在终端拷贝会出现,比较难发现!

4,在C中:测试效果
ssh -l root -p6022 192.168.0.3
sftp root@192.168.0.3