sftp-oPort=22 user@ip 如何指定登录密码
时间: 2024-02-17 17:03:57 浏览: 23
在登录 SFTP 时,使用密码而不是 SSH 密钥,可以使用 `expect` 工具自动输入密码。以下是示例脚本:
```bash
#!/usr/bin/expect -f
# 设置 SFTP 服务器地址和端口
set hostname "your_hostname"
set port "22"
# 设置 SFTP 用户名和密码
set username "your_username"
set password "your_password"
# 登录 SFTP
spawn sftp -oPort=$port $username@$hostname
# 匹配密码提示,并发送密码
expect "password:"
send "$password\r"
# 进入交互模式,可以执行 SFTP 命令
interact
```
在上面的脚本中,首先设置 SFTP 服务器地址和端口。然后,设置 SFTP 用户名和密码。使用 `spawn` 命令启动 SFTP 进程,并匹配密码提示。当匹配到密码提示时,使用 `send` 命令发送密码。最后,使用 `interact` 命令进入交互模式,可以执行 SFTP 命令。
注意,这个脚本中的密码是明文存储的,不安全。为了更安全地使用密码,你可以将密码存储在一个单独的文件中,并使用 `expect` 工具读取密码。或者,你可以考虑使用 SSH 密钥登录 SFTP,而不是密码。