linux命令用密钥登录sftp
-
要通过密钥登录SFTP,需要以下步骤:
1. 生成公钥和私钥:
在本地机器上打开终端,并运行以下命令来生成公钥和私钥:
“`
$ ssh-keygen -t rsa
“`
这将在默认的.ssh目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)文件。2. 将公钥复制到远程服务器:
运行以下命令将公钥复制到要连接的远程服务器:
“`
$ ssh-copy-id username@remote_server
“`
这将使用SSH协议将公钥复制到远程服务器的.ssh/authorized_keys文件中。3. 配置SFTP服务器以接受密钥登录:
在远程服务器上,使用文本编辑器打开sshd_config文件:
“`
$ sudo vi /etc/ssh/sshd_config
“`
找到以下行并确保其未注释:
“`
PubkeyAuthentication yes
“`
如果需要,取消注释并保存更改。4. 重启远程服务器上的SSH服务:
运行以下命令以使配置更改生效:
“`
$ sudo service ssh restart
“`现在,你可以使用以下命令以密钥身份登录SFTP:
“`
$ sftp -i /path/to/private_key username@remote_server
“`
将”/path/to/private_key”替换为私钥文件的实际路径,”username”替换为远程服务器上的用户名,”remote_server”替换为远程服务器的地址或主机名。通过上述步骤,你将能够使用密钥登录SFTP服务器。这种方式比使用密码更安全,并且可以方便地进行自动化脚本操作。
2年前 -
Linux系统中可以使用密钥登录SFTP(Secure File Transfer Protocol)。以下是使用密钥登录SFTP的步骤:
1. 生成密钥对:在本地计算机上生成公钥和私钥的密钥对。可以使用OpenSSH的命令来生成密钥对。在终端中执行以下命令:
“`
ssh-keygen -t rsa
“`
该命令将生成一个2048位的RSA密钥对,并将公钥和私钥文件保存在用户主目录的.ssh文件夹中。2. 上传公钥:将生成的公钥上传到远程服务器。可以使用SCP(Secure Copy)命令将公钥文件复制到服务器上。在本地终端中执行以下命令:
“`
scp ~/.ssh/id_rsa.pub username@server_ip:~/
“`
其中,username是您在服务器上的用户名,server_ip是服务器的IP地址。该命令将公钥文件复制到服务器上的用户主目录。3. 远程登录服务器:使用SSH命令远程登录到服务器。在本地终端中执行以下命令:
“`
ssh username@server_ip
“`
然后输入服务器的密码进行登录。4. 添加公钥到授权密钥文件:在服务器上将公钥添加到授权密钥文件中,以便允许使用该密钥进行登录。在服务器终端中执行以下命令:
“`
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
“`
该命令将公钥的内容追加到授权密钥文件中。5. 设置权限:为了确保密钥登录的安全性,需要设置正确的文件权限。在服务器终端中执行以下命令:
“`
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
“`
这些命令将.ssh文件夹和authorized_keys文件的权限设置为只有当前用户可读写。完成以上步骤后,即可使用密钥登录SFTP。在本地终端中执行以下命令:
“`
sftp username@server_ip
“`
这将打开SFTP会话,并使用生成的密钥进行身份验证。如果一切设置正确,您将无需再输入密码即可成功登录到服务器。值得注意的是,在设置密钥登录前,请确保服务器已启用SFTP服务,并且相应的端口已开放。另外,生成的密钥对应仅与您自己保留,切勿将私钥泄露给他人,以免导致安全问题。
2年前 -
用密钥登录SFTP可以提高服务器的安全性,本文将介绍在Linux系统上使用密钥进行SFTP登录的方法和操作流程。
下面是详细的步骤:
## 生成密钥对
1. 打开终端,输入以下命令生成密钥对:
“`
ssh-keygen -t rsa
“`
2. 系统会提示你输入密钥文件的保存路径和文件名,默认是`~/.ssh/id_rsa`,如果需要修改保存路径和文件名,可以按照提示进行修改,然后按Enter键。
3. 接下来会提示你输入一个密码,这个密码是用来保护你的私钥的,可选项,如果不想设置密码就直接按Enter键。请注意,如果你设置了密码,在每次使用密钥进行验证时,都需要输入该密码。
4. 系统会生成两个密钥文件,一个是私钥(`id_rsa`),另一个是公钥(`id_rsa.pub`)。私钥文件默认保存在`~/.ssh/`目录下,公钥文件则是私钥文件的文件名后加上`.pub`。## 上传公钥到服务器
1. 使用SCP或其他方法将公钥文件(`id_rsa.pub`)上传到服务器。假设服务器的IP地址是`192.168.1.100`,用户名是`username`,要将公钥文件上传到用户目录下的`.ssh/`目录中,可以使用以下命令:
“`
scp ~/.ssh/id_rsa.pub username@192.168.1.100:~/.ssh/
“`
2. 登录服务器,使用以下命令将公钥内容添加到`authorized_keys`文件中:
“`
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
“`
3. 修改`authorized_keys`文件的权限:
“`
chmod 600 ~/.ssh/authorized_keys
“`
4. 退出服务器。## 测试密钥登录
1. 在本地终端上,输入以下命令进行密钥登录测试:
“`
ssh -i ~/.ssh/id_rsa username@192.168.1.100
“`
2. 如果你没有设置私钥密码,登录过程会直接成功;如果设置了私钥密码,系统会要求输入私钥密码。
3. 如果一切顺利,你会成功登录到服务器。## 配置SFTP
1. 在本地终端上,输入以下命令进行SFTP连接测试:
“`
sftp -i ~/.ssh/id_rsa username@192.168.1.100
“`
2. 如果你没有设置私钥密码,连接过程会直接成功;如果设置了私钥密码,系统会要求输入私钥密码。
3. 如果一切顺利,你会进入SFTP交互界面,并可以执行SFTP命令进行文件传输。以上就是使用密钥进行SFTP登录的方法和操作流程。通过使用密钥进行登录,可以更加安全地连接到远程服务器,并且免去了每次输入密码的麻烦。
2年前