第十三章 使用SSH
%Net.SSH软件包支持SSH(安全外壳)通信。本主题简要介绍此包中的类。
创建SSH会话
%Net.SSH.Session表示会话。要使用此类,请执行以下操作:
- 创建类的实例。
- 使用
Connect()实例方法连接到服务器。
- 使用
AuthenticateWithKeyPair()或向服务器验证身份。
- 使用
%Net.SSH.Session的其他方法执行进出远程系统的单个文件的SCP(安全复制)操作、执行远程命令、传输TCP通信或执行SFTP操作。
例如,使用将会话用于操作。此方法通过引用返回可用于操作的实例。
重要提示:有关可以使用这些类的受支持平台的信息,请参阅和的类参考。
示例:通过SFTP列出文件
以下方法显示了如何通过SFTP在服务器上写入文件列表:
Method SFTPDir(ftpserver, username, password) As %Status
{
set ssh = ##class(%Net.SSH.Session).%New()
do ssh.Connect(ftpserver)
do ssh.AuthenticateWithUsername(username,password)
//open an SFTP session and get that returned by reference
do ssh.OpenSFTP(.sftp)
//get a list of files
do sftp.Dir(".",.files)
set i=$ORDER(files(""))
while i'="" {
write $listget(files(i),1),!
set i=$ORDER(files(i))
}
quit $$$OK
}