Lines Matching defs:ssh
1 /* $OpenBSD: ssh.c,v 1.602 2024/12/06 16:21:48 djm Exp $ */
14 * called by a name other than "ssh" or "Secure Shell".
74 #include "ssh.h"
102 #include "ssh-pkcs11.h"
167 "usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]\n"
174 " ssh [-Q query_option]\n"
179 static int ssh_session2(struct ssh *, const struct ssh_conn_info *);
649 * Main program for the ssh client.
654 struct ssh *ssh = NULL;
674 * with backgrounded ssh processes started by ControlPersist.
679 fatal("ssh setuid not supported.");
681 fatal("ssh setgid not supported.");
709 * Prepare main ssh transport/connection structures
711 if ((ssh = ssh_alloc_session_state()) == NULL)
713 channel_init_channels(ssh);
1293 * "ssh" if it appears unavailable.
1296 sshbin = "ssh";
1330 channel_set_af(ssh, options.address_family);
1583 ssh_packet_set_connection(ssh, sock, sock);
1584 ssh_packet_set_mux(ssh);
1606 channel_clear_timeouts(ssh);
1615 channel_add_timeout(ssh, cp, i);
1620 if (ssh_connect(ssh, host, options.host_arg, addrs, &hostaddr,
1628 ssh_packet_set_timeout(ssh, options.server_alive_interval,
1636 * enabled, load the public keys so we can later use the ssh-keysign
1744 ssh_login(ssh, &sensitive_data, host, (struct sockaddr *)&hostaddr,
1777 exit_status = ssh_session2(ssh, cinfo);
1779 ssh_packet_close(ssh);
1831 /* Do fork() after authentication. Used by "ssh -f" */
1862 ssh_confirm_remote_forward(struct ssh *ssh, int type, u_int32_t seq, void *ctxt)
1878 if ((r = sshpkt_get_u32(ssh, &port)) != 0)
1886 channel_update_permission(ssh,
1895 channel_update_permission(ssh,
1899 channel_update_permission(ssh, rfwd->handle, -1);
1924 client_cleanup_stdio_fwd(struct ssh *ssh, int id, int force, void *arg)
1931 ssh_stdio_confirm(struct ssh *ssh, int id, int success, void *arg)
1938 ssh_tun_confirm(struct ssh *ssh, int id, int success, void *arg)
1951 ssh_init_stdio_forwarding(struct ssh *ssh)
1965 if ((c = channel_connect_stdio_fwd(ssh, options.stdio_forward_host,
1969 channel_register_cleanup(ssh, c->self, client_cleanup_stdio_fwd, 0);
1970 channel_register_open_confirm(ssh, c->self, ssh_stdio_confirm, NULL);
1974 ssh_init_forward_permissions(struct ssh *ssh, const char *what, char **opens,
1982 channel_clear_permission(ssh, FORWARD_ADM, where);
1990 channel_disable_admin(ssh, where);
2003 channel_add_permission(ssh, FORWARD_ADM,
2010 ssh_init_forwarding(struct ssh *ssh, char **ifname)
2015 ssh_init_forward_permissions(ssh, "permitremoteopen",
2035 success += channel_setup_local_fwd_listener(ssh,
2057 channel_request_remote_forwarding(ssh,
2071 if ((*ifname = client_request_tun_fwd(ssh,
2102 ssh_session2_setup(struct ssh *ssh, int id, int success, void *arg)
2115 if (options.forward_x11 && client_x11_get_proto(ssh, display,
2121 x11_request_forwarding_with_spoofing(ssh, id, display, proto,
2123 client_expect_confirm(ssh, id, "X11 forwarding", CONFIRM_WARN);
2131 channel_request_start(ssh, id, "auth-agent-req@openssh.com", 0);
2132 if ((r = sshpkt_send(ssh)) != 0)
2137 ssh_packet_set_interactive(ssh, interactive,
2143 client_session2_setup(ssh, id, tty_flag,
2150 ssh_session2_open(struct ssh *ssh)
2172 c = channel_new(ssh,
2179 channel_send_open(ssh, c->self);
2181 channel_register_open_confirm(ssh, c->self,
2188 ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo)
2195 ssh_init_stdio_forwarding(ssh);
2197 ssh_init_forwarding(ssh, &tun_fwd_ifname);
2211 if (!ssh_packet_get_mux(ssh))
2212 muxserver_listen(ssh);
2242 ssh_init_stdio_forwarding(ssh);
2245 id = ssh_session2_open(ssh);
2251 ssh_packet_set_interactive(ssh, interactive,
2257 (ssh->compat & SSH_NEW_OPENSSH)) {
2259 if ((r = sshpkt_start(ssh, SSH2_MSG_GLOBAL_REQUEST)) != 0 ||
2260 (r = sshpkt_put_cstring(ssh,
2262 (r = sshpkt_put_u8(ssh, 0)) != 0 ||
2263 (r = sshpkt_send(ssh)) != 0)
2283 * forwarding requests, then let ssh continue in the background.
2294 return client_loop(ssh, tty_flag, tty_flag ?