ssh链接Linux服务器的三种退出命令

1. ~. (输入~后不会显示内容,随后输入.即可退出)

2. logout

3. exit

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 下面的例子表明该系统正在使用SSH2: $ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu 2、用SSH登录到远程主机 当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入"yes"后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。示例如下: 1 2 3 4 5 6 7 8 localhost$ ssh -l jsmith remotehost.example.com Host key not found from database. Key fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum You can get a public key‘s fingerprint by running % ssh-keygen -F publickey.pub on the keyfile. Are you sure you want to continue connecting (yes/no)? Yes Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com, accepted by jsmith Mon May 26 2008 16:06:50 -0700 [email protected] password: remotehost.example.com$ 因为远程主机的密钥已经加入到ssh客户端的已知主机列表中,当你第二次登陆远程主机时,只需要你输入远程主机的登录密码即可。 1 2 3 localhost$ ssh -l jsmith remotehost.example.com [email protected] password: remotehost.example.com$ 由于各种原因,可能在你第一次登陆远程主机后,该主机的密钥发生改变,你将会看到一些警告信息。出现这种情况,可能有两个原因: o 系统管理员在远程主机上升级或者重新安装了SSH服务器 o 有人在进行一些恶意行为,等等。 在你输入“yes”之前呢,最佳的选择或许是联系你的系统管理员来分析为什么会出现主机验证码改变的信息,核对主机验证码是否正确。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 localhost$ ssh -l jsmith remotehost.example.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the- middle attack)! It is also possible that the host key has just been changed. Please contact your system administrator. Add correct host key to ―/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub‖ to get rid of this message. Received server key's fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum You can get a publ
### 回答1: 使用 C 语言来进行 SSH 连接需要使用一些第三方库,比如 libssh 或者 libssh2。 你可以使用这些库提供的 API 函数来连接远程主机,执行命令,传输文件等等。 下面是一个示例代码,用来连接远程主机,执行命令并打印输出(使用的是 libssh 库): ``` #include <stdio.h> #include <stdlib.h> #include <libssh/libssh.h> int main() { ssh_session session; int rc; // 创建一个 SSH 会话 session = ssh_new(); if (session == NULL) { fprintf(stderr, "Error creating SSH session\n"); exit(-1); } // 设置服务器地址和端口 ssh_options_set(session, SSH_OPTIONS_HOST, "example.com"); ssh_options_set(session, SSH_OPTIONS_PORT, 22); // 连接服务器 rc = ssh_connect(session); if (rc != SSH_OK) { fprintf(stderr, "Error connecting to server: %s\n", ssh_get_error(session)); ssh_free(session); exit(-1); } // 验证服务器的身份 rc = ssh_userauth_publickey_auto(session, NULL, NULL); if (rc != SSH_AUTH_SUCCESS) { fprintf(stderr, "Error authenticating with server: %s\n", ssh_get_error(session)); ssh_disconnect(session); ssh_free(session); exit(-1); } // 执行命令并打印输出 ssh_channel channel; channel = ssh_channel_new(session); if (channel == NULL) { fprintf(stderr, "Error creating channel\n"); ssh_disconnect(session); ssh_free(session); exit(-1); } rc = ssh_channel_open_session(channel); if (rc != SSH_OK) { fprintf(stderr, "Error opening channel: %s\n", ssh_get_error(session)); ssh_channel_free(channel); ssh_disconnect(session); ssh_free( ### 回答2: 要使用C语言进行SSH连接,可以使用开源的libssh库。这个库提供了一系列的功能和API,用于建立SSH连接、进行身份验证、执行远程命令等操作。 在使用libssh库之前,需要先安装该库,并添加相关的头文件和链接库的路径。安装步骤可根据具体操作系统和编译环境来进行。 连接SSH服务器的基本步骤如下: 1. 创建一个ssh_session对象,并使用ssh_new()函数进行初始化。 2. 设置ssh_session对象的相关属性,如远程主机的IP地址、端口号、用户名、密码等。可以使用ssh_options_set()函数来设置这些属性。 3. 调用ssh_connect()函数连接到远程主机。如果连接成功,则会返回一个值为SSH_OK的整数。 4. 如果需要进行身份验证,可以使用ssh_userauth_password()函数进行密码验证。如果使用密钥进行验证,可以使用ssh_userauth_publickey_auto()函数。 5. 连接成功后,可以使用ssh_channel_open_session()函数打开一个会话通道。 6. 调用ssh_channel_request_exec()函数执行远程命令。可以使用ssh_channel_read()函数读取命令的输出,并使用ssh_channel_send_eof()函数发送结束标志。 7. 执行完命令后,可以使用ssh_channel_free()函数释放会话通道。 8. 最后,使用ssh_disconnect()函数断开与远程主机的连接,并使用ssh_free()函数释放ssh_session对象。 需要注意的是,使用libssh库进行SSH连接需要一定的C语言基础和网络编程知识。在实际使用中,还需要处理错误和异常,以确保连接和执行命令的成功。 以上是使用C语言进行SSH连接的基本步骤,具体代码和功能可根据实际需求进行扩展和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值