我大量使用 scp 和 ssh 来工作。每次输入密码让我有点厌烦。通常,我会从终端将许多文件从本地计算机 scp 到远程计算机,我想知道是否有办法保持 scp 连接打开。我的意思是,如果有这样的东西就太好了:
$ scp user@server # to estabilsh the connection
user@server's password:
$ scp file1 user@server:/folder # No password asked!
$ scp close # to close the connection
答案1
虽然可以保持连接开放,但最好的方法可能是使用公钥认证,这样就避免了重复输入密码。
假设本地和远程机器都运行 Linux:
user@local $ cat .ssh/id_rsa.pub | ssh user@remote 'cat >> .ssh/authorized_keys'
会将本地机器的 SSH 密钥添加到远程机器的预先批准的用户列表中,后续ssh
或scp
命令不应该需要密码。
如果仍然要求输入密码,你可能需要这样做
user@remote $ chmod 400 .ssh/authorized_keys